Vous êtes sur la page 1sur 96

2

C O L L E C T I O N

de

Sciences numériques
et Technologie
PROGRAMME

2019

LIVRE
DU PROFESSEUR
Christophe DECLERCQ

04733675_001-096.indd 1 28/08/2019 12:19


1 Informatique et numérique
Sommaire
Introduction ................................................................................................................................................... 15
Activités de découverte
Activité 1. Un site à explorer : France IOI . . ................................................................................. 15
Activité 2. Le jeu de devinette . . .................................................................................................... 15
Activité 3. Le robot dessinateur .................................................................................................. 16
Activité 4. La mémoire des machines ........................................................................................ 17

Cours ............................................................................................................................................................... 17
Activités d’application
Activité 5. Programmation du jeu de devinette ........................................................................ 18
Activité 6. Code PIN et code PUK ................................................................................................ 19
Activité 7. Suivi de ligne avec un robot .. ..................................................................................... 19
Activité 8. Des pieds et des pouces ............................................................................................ 20

Analyse et débats
Enjeu 1. Programmer ou être programmé ? ......................................................................... 21
Enjeu 2. L’informatique, une question de genre ? ................................................................. 21

2 Le réseau internet
Introduction ................................................................................................................................................... 23
Activités de découverte
Activité 1. Un site à explorer : Internet Society .. ....................................................................... 23
Activité 2. 4 800 ou 9 600 bauds ? ............................................................................................... 23
Activité 3. Connexion Bluetooth .................................................................................................. 24
Activité 4. Tous connectés ! .......................................................................................................... 24

Cours ............................................................................................................................................................... 25
Activités d’application
Activité 5. Des adresses Wi-Fi ou 4G ? ....................................................................................... 25
Activité 6. Des adresses Ethernet . . ............................................................................................. 26
Activité 7. Le routage débranché ................................................................................................ 26
Activité 8. Test de la connexion réseau ...................................................................................... 27
Activité 9. Adresse IP et adresse symbolique .. ......................................................................... 27
Activité 10. Observation du routage . . ............................................................................................ 27
Activité 11. Transmission TCP ....................................................................................................... 28

Analyse et débats
Enjeu 1. Qui gouverne internet ? .............................................................................................. 28
Enjeu 2. Le réseau internet est-il fiable ? .............................................................................. 29
Enjeu 3. La neutralité du net .................................................................................................... 29
Enjeu 4. Internet, le média universel ? ................................................................................... 29

Pour aller plus loin


Activité 12. Un chat en Python ....................................................................................................... 30

© BORDAS/SEJER, 2019 • ISBN 978-2-04-733675-5


2

04733675_001-096.indd 2 28/08/2019 12:19


3 Le world wide web

Sommaire
Introduction ................................................................................................................................................... 31
Activités de découverte
Activité 1. Un site à explorer : Wikipédia ................................................................................... 31
Activité 2. Le code source .. ........................................................................................................... 32
Activité 3. Les URLs .. ..................................................................................................................... 32
Activité 4. L’historique de navigation .......................................................................................... 33

Cours ............................................................................................................................................................... 33
Activités d’application
Activité 5. Une nouvelle page ...................................................................................................... 34
Activité 6. Ajout de liens ............................................................................................................... 35
Activité 7. Un changement de style ............................................................................................ 35
Activité 8. Comparaison de moteurs .......................................................................................... 36
Activité 9. L’indexation d’un texte . . .............................................................................................. 36
Activité 10. Algorithme du PageRank .. ......................................................................................... 37

Analyse et débats
Enjeu 1. Le web et l’information .............................................................................................. 38
Enjeu 2. Le web et la coopération . . .......................................................................................... 38
Enjeu 3. Le web et le droit d’auteur ........................................................................................ 38
Enjeu 4. La confidentialité du web . . ......................................................................................... 38

Pour aller plus loin


Activité 12. Programmation du PageRank .................................................................................. 39

4 Les réseau sociaux


Introduction ................................................................................................................................................... 41
Activités de découverte
Activité 1. Un site à explorer : Do not track ............................................................................... 41
Activité 2. Six degrés de séparation ........................................................................................... 41
Activité 3. Comparaison de réseaux sociaux ............................................................................ 42
Activité 4. Nombre d’amis en commun .. .................................................................................... 42

Cours ............................................................................................................................................................... 43
Activités d’application
Activité 5. Groupes de travail . . ..................................................................................................... 43
Activité 6. Le personnage central ............................................................................................... 44
Activité 7. Le nombre de Bacon .................................................................................................. 45
Activité 8. Les petits mondes temporels ................................................................................... 45
Activité 9. Anonymat sur les réseaux sociaux .......................................................................... 46
Activité 10. La star du réseau ........................................................................................................ 46

Analyse et débats
Enjeu 1. Harcèlement numérique et cyberviolence ............................................................. 47
Enjeu 2. Les réseaux sociaux et la vie privée (RGPD) .......................................................... 47
Enjeu 3. Le modèle économique des réseaux sociaux ........................................................ 47
Enjeu 4. Réseaux sociaux et communautés .......................................................................... 48

Pour aller plus loin


Activité 12. Les graphes, c’est de l’informatique ....................................................................... 48
3

04733675_001-096.indd 3 28/08/2019 12:19


5 Données et traitements
Sommaire
Introduction ................................................................................................................................................... 51
Activités de découverte
Activité 1. Un site à explorer : data.gouv.fr . . .............................................................................. 51
Activité 2. Recherches dans un annuaire papier . . .................................................................... 51
Activité 3. Réaliser un histogramme .......................................................................................... 52
Activité 4. Le fichier bristol de la bibliothèque ......................................................................... 53
Cours ............................................................................................................................................................... 54
Activités d’application
Activité 5. La population en Europe . . .......................................................................................... 54
Activité 6. La résistance des pièces . . .......................................................................................... 55
Activité 7. Densités de la population en Europe . . ..................................................................... 55
Activité 8. Un placement rentable .............................................................................................. 56
Activité 9. Visualisation de données avec Panda .. .................................................................... 57
Activité 10. La qualité de l’air en Île-de-France ......................................................................... 57
Activité 11. La qualité de l’air dans une commune .................................................................... 58
Activité 12. Histogramme de pollution .. ....................................................................................... 59
Analyse et débats
Enjeu 1. L’ouverture des données publiques . . ....................................................................... 61
Enjeu 2. L’exploitation du « big data », science ou surveillance ? . . ..................................... 61
Enjeu 3. Les données personnelles : protection et usages ? . . ............................................ 61
Enjeu 4. Les data centers et leurs impacts sur l’environnement ...................................... 61
Pour aller plus loin
Activité 13. Trier les données ........................................................................................................ 61
Activité 14. Traiter plusieurs tables pour croiser des données . . ............................................. 62

6 Cartographie et localisation
Introduction ................................................................................................................................................... 63
Activités de découverte
Activité 1. Un site à explorer : OpenStreetMap ......................................................................... 63
Activité 2. Cartes IGN .................................................................................................................... 64
Activité 3. Distance entre deux villes ......................................................................................... 64
Activité 4. Localisation d’un mobile . . .......................................................................................... 65
Cours ............................................................................................................................................................... 65
Activités d’application
Activité 5. Les couches de Géoportail ........................................................................................ 66
Activité 6. Un itinéraire sur OpenStreetMap ............................................................................. 67
Activité 7. À bicyclette… . . .............................................................................................................. 67
Activité 8. Tremblements de terre .............................................................................................. 68
Activité 9. Un itinéraire enregistré .. ............................................................................................ 69
Activité 10. Un itinéraire programmé . . ......................................................................................... 69
Analyse et débats
Enjeu 1. Numérisation et remplacement des cartes papier .. ............................................. 70
Enjeu 2. Actualisation des cartographies numériques ........................................................ 71
Enjeu 3. Localisation et surveillance .. ..................................................................................... 71
Enjeu 4. Fiabilité et précision de la localisation .................................................................... 71
Pour aller plus loin
Activité 11. Calcul d’itinéraire . . ...................................................................................................... 71
4

04733675_001-096.indd 4 28/08/2019 12:19


7 Informatique embarquée et objets connectés

Sommaire
Introduction ................................................................................................................................................... 73
Activités de découverte
Activité 1. Un site à explorer : Python sur micro:bit ................................................................ 73
Activité 2. Des capteurs dans le téléphone ............................................................................... 74
Activité 3. Une douche chaude .................................................................................................... 74
Activité 4. Une cafetière connectée ............................................................................................ 75

Cours ............................................................................................................................................................... 76
Activités d’application
Activité 5. La voiture autonome . . ................................................................................................. 77
Activité 6. Suivre la ligne .............................................................................................................. 77
Activité 7. La gyroroue .................................................................................................................. 78
Activité 8. Le contrôle d’affichage . . ............................................................................................. 79
Activité 9. Le niveau électronique ............................................................................................... 80
Activité 10. Boussole automatique ............................................................................................... 81
Activité 11. Chronomètre numérique . . ......................................................................................... 81

Analyse et débats
Enjeu 1. Sécurité des systèmes embarqués . . ........................................................................ 82
Enjeu 2. Responsabilité des systèmes embarqués .............................................................. 83
Enjeu 3. Objets connectés et énergie ...................................................................................... 83
Enjeu 4. Objets connectés et matières premières . . .............................................................. 83

Pour aller plus loin


Activité 13. Système embarqué avec IHM ................................................................................... 83

8 Photographie numérique
Introduction ................................................................................................................................................... 85
Activités de découverte
Activité 1. Un site à explorer : GIMP ........................................................................................... 85
Activité 2. Codage d’une image ................................................................................................... 85
Activité 3. Pixel Art en noir et blanc ........................................................................................... 86
Activité 4. Photographies en vignette .. ....................................................................................... 87

Cours ............................................................................................................................................................... 88
Activités d’application
Activité 5. Définition et résolution . . ............................................................................................. 88
Activité 6. Métadonnées des photos . . ......................................................................................... 89
Activité 7. Des couleurs avec GIMP ............................................................................................ 89
Activité 8. Le négatif d’une image N & B ................................................................................... 90
Activité 9. Couleurs et niveaux de gris . . ..................................................................................... 91

Analyse et débats
Enjeu 1. Le prix de la gratuité des photos numériques . . ..................................................... 93
Enjeu 2. Photographie numérique et droit à l’image ........................................................... 93
Enjeu 3. Manipulation de photographies numériques ......................................................... 93
Enjeu 4. Photographie numérique et archivage .. .................................................................. 93

Pour aller plus loin


Activité 10. Extraction de contour ................................................................................................. 94
5

04733675_001-096.indd 5 28/08/2019 12:19


Programme Extrait issu du Bulletin Officiel spécial n° 1 du 22 janvier 2019

Notions transversales de programmation


Informatique et programmation j Chapitre 1 p. 12
Au moment de la conception de ce programme, le langage choisi est Python version 3 (ou supérieure).

Contenus Capacités attendues

Affectations, variables Écrire et développer des programmes pour répondre à des problèmes et modéliser des
Séquences phénomènes physiques, économiques et sociaux.
Instructions conditionnelles
Boucles bornées et non bornées
Définitions et appels de fonctions

Thématiques du programme
Internet j Chapitre 2 p. 28
Repères historiques postal pour une bonne partie, et bientôt le téléphone fixe
Dès les années cinquante, les ordinateurs ont été mis en réseau grâce à VoIP (voix sur IP). Son trafic prévu pour 2021 est de
pour échanger des informations, mais de façon très liée aux 3 300 milliards de milliards d’octets (3,3 × 1 021 octets).
constructeurs d’ordinateurs ou aux opérateurs téléphoniques. Internet a aussi ses problèmes : absence de garantie temporelle
Les réseaux généraux indépendants des constructeurs sont nés sur l’arrivée des paquets et possibilité d’attaques par satura-
aux États-Unis avec ArpaNet (1970) et en France avec Cyclades tion en envoyant un très grand nombre de messages à un site
(1971). Cet effort a culminé avec internet, né en 1983. donné, pour y provoquer un déni de service.
La neutralité du Net, présente dès l’origine du réseau, exprime
Impacts sur les pratiques humaines l’idée que les routeurs doivent transmettre les paquets indépen-
Internet a fait progressivement disparaître beaucoup des moyens damment du type de leur contenu : texte, vidéo, etc. Mais elle est
de communication précédents : télégramme, télex, le courrier constamment remise en cause par certains lobbies industriels.

Contenus Capacités attendues

Protocole TCP/IP : paquets, Distinguer le rôle des protocoles IP et TCP.


routage des paquets Caractériser les principes du routage et ses limites.
Distinguer la fiabilité de transmission et l’absence de garantie temporelle.

Adresses symboliques et Sur des exemples réels, retrouver une adresse IP à partir d’une adresse symbolique et
serveurs DNS inversement.

Réseaux pair-à-pair Décrire l’intérêt des réseaux pair-à-pair ainsi que les usages illicites qu’on peut en faire.

Indépendance d’internet par Caractériser quelques types de réseaux physiques : obsolètes ou actuels, rapides ou lents,
rapport au réseau physique filaires ou non.
Caractériser l’ordre de grandeur du trafic de données sur internet et son évolution.

Le Web j Chapitre 3 p. 50
Repères historiques une coopération d’une nature nouvelle entre individus et entre
1965 : invention et programmation du concept d’hypertexte organisations : commerce en ligne, création et distribution de
par Ted Nelson. logiciels libres multi-auteurs, création d’encyclopédies mises
1989 : naissance au CERN par Tim Berners Lee. à jour en permanence, etc. ; il devient universel pour commu-
1993 : mise dans le domaine public, disponibilité du premier niquer avec les objets connectés.
navigateur Mosaic. Le Web permet aussi de diffuser toutes sortes d’informations
1995 : mise à disposition de technologies pour le développe- dont ni la qualité, ni la pertinence, ni la véracité ne sont garan-
ment de site Web interactif (langage JavaScript) et dynamique ties et dont la vérification des sources n’est pas toujours facile.
(langage PHP). Il conserve des informations, parfois personnelles, accessibles
2001 : standardisation des pages grâce au DOM (Document partout sur de longues durées sans qu’il soit facile de les effacer,
Object Model). ce qui pose la question du droit à l’oubli. Il permet une exploi-
2010 : mise à disposition de technologies pour le développe- tation de ses données, dont les conséquences sociétales sont
ment d’applications sur mobiles. encore difficiles à estimer : recommandation à des fins commer-
ciales, bulles informationnelles, etc. En particulier, des moteurs
Impacts sur les pratiques humaines de recherche permettent à certains sites d’acquérir de la visibi-
Dans l’histoire de la communication, le Web est une révolution : lité sur la première page des résultats de recherche en ache-
il a ouvert à tous la possibilité et le droit de publier ; il permet tant de la publicité qui apparaîtra parmi les liens promotionnels.
6

04733675_001-096.indd 6 28/08/2019 12:19


Contenus Capacités attendues
Repères historiques Connaître les étapes du développement du Web.
Notions juridiques Connaître certaines notions juridiques (licence, droit d’auteur, droit d’usage, valeur d’un bien).
Hypertexte Maîtriser les renvois d’un texte à différents contenus.
Langages HTML et CSS Distinguer ce qui relève du contenu d’une page et de son style de présentation.
Étudier et modifier une page HTML simple.
URL Décomposer l’URL d’une page. Reconnaître les pages sécurisées.
Requête HTTP Décomposer le contenu d’une requête HTTP et identifier les paramètres passés.
Modèle client/serveur Inspecter le code d’une page hébergée par un serveur et distinguer ce qui est exécuté par le client
et par le serveur.
Moteurs de recherche : Mener une analyse critique des résultats fournis par un moteur de recherche.
principes et usages Comprendre les enjeux de la publication d’informations.
Paramètres de sécurité Maîtriser les réglages les plus importants concernant la gestion des cookies, la sécurité et la
d’un navigateur confidentialité d’un navigateur. Sécuriser sa navigation en ligne et analyser les pages et fichiers.

Les réseaux sociaux j Chapitre 4 p. 70


Repères historiques Impacts sur les pratiques humaines
1995 : Classmates est l’un des premiers réseaux sociaux qui Le développement des réseaux sociaux introduit un nouveau
permettent aux étudiants de rester en relation. type de liens sur le Web, qui ne relève pas de l’hypertexte : il
s’agit de l’abonnement à des relations/des amis et de la possi-
2003 : apparition de Myspace, aujourd’hui en perte de vitesse,
bilité de recommander de l’information en fonction du réseau
et de LinkedIn (racheté depuis par Microsoft), à vocation profes-
ainsi constitué. L’objectif annoncé des applications de réseau-
sionnelle.
tage social est de mettre les individus en relation les uns avec
2004 : apparition de Facebook, d’abord réservé aux étudiants les autres. Quelle est la réalité ? L’expérience de Milgram (1967)
de l’université Harvard, puis ouvert au grand public en 2006. semble indiquer la constitution de « petits mondes » où chacun
est au plus à six liens de distance d’un autre. Peut-on éviter les
2006 : apparition de Twitter, qui permet l’échange de courts
phénomènes de communautés liés à des recommandations se
messages, limités au départ à 140 puis à 280 caractères (on
renforçant les unes les autres pouvant aller jusqu’à un appauvris-
parle de microblogage).
sement de la pensée critique ? Ces questions font référence au
2009 : lancement de la messagerie instantanée WhatsApp concept de bonding (renforcement de liens existants au sein d’un
(rachetée depuis par Facebook) qui se substitue à l’utilisation même groupe) versus bridging (construction de nouveaux liens
des SMS et MMS chez beaucoup d’utilisateurs. non redondants). Les affaires de fuite de données personnelles
mettent en avant les questions liées aux modèles économiques
2010 : arrivée d’Instagram (racheté depuis par Facebook), qui
des applications de réseautage social symbolisés par le slogan
permet le partage de photos et de vidéos.
« quand c’est gratuit, c’est vous le produit ». Les réseaux sociaux
2011 : début de Snapchat qui permet, sur plateformes mobiles, peuvent être le support d’une cyberviolence, par le biais de photo-
le partage de photos et de vidéos, avec une limitation de durée. graphies partagées sans consentement ou impossibles à retirer,
par la diffusion de fausses nouvelles, de dénonciations ou de
2018 : on estime à 3,2 milliards le nombre d’utilisateurs actifs
calomnies. Des pratiques, des outils et des services permettent
des réseaux sociaux.
de se protéger, lutter et dénoncer de tels agissements. Sensi-
En 2018, les réseaux sociaux utilisés en France sont états-uniens, bilisés au collège dans le cadre de l’éducation aux médias et à
toutefois il en existe bien d’autres : en Chine, par exemple, appa- l’information, les lycéens doivent acquérir les démarches néces-
raît en 2009 l’application de microblogage Weibo avec plus de saires pour se protéger et une conduite appropriée dans le cadre
350 millions d’utilisateurs actifs en 2018 ; en 2012 naît l’applica- d’usages scolaires pour se préparer au monde professionnel.
tion de messagerie Weixin (développée par Tencent) qui compte Les espaces numériques de travail (ENT) constituent le cadre
en 2018 plus d’un milliard de comptes utilisateurs. privilégié de cet apprentissage.

Contenus Capacités attendues


Identité numérique, e-réputation, Connaître les principaux concepts liés à l’usage des réseaux sociaux.
identification, authentification
Réseaux sociaux existants Distinguer plusieurs réseaux sociaux selon leurs caractéristiques, y compris un ordre de
grandeur de leurs nombres d’abonnés. Paramétrer des abonnements pour assurer la
confidentialité de données personnelles.
Modèle économique Identifier les sources de revenus des entreprises de réseautage social.
des réseaux sociaux
Rayon, diamètre et centre d’un graphe Déterminer ces caractéristiques sur des graphes simples.
Notion de « petit monde » Décrire comment l’information présentée par les réseaux sociaux est conditionnée par le
Expérience de Milgram choix préalable de ses amis.
Cyberviolence Connaître les dispositions de l’article 222-33-2-2 du code pénal. Connaître les différentes
formes de cyberviolence (harcèlement, discrimination, sexting...) et les ressources disponibles
pour lutter contre la cyberviolence.
7

04733675_001-096.indd 7 28/08/2019 12:19


Programme Extrait issu du Bulletin Officiel spécial n° 1 du 22 janvier 2019

Les données structurées et leur traitement j Chapitre 5 p. 90


Repères historiques nombreuses tant en termes de démocratie, de surveillance
1930 : utilisation des cartes perforées, premier support de stoc- de masse ou encore d’exploitation des données personnelles.
kage de données. Certaines de ces données sont dites ouvertes (OpenData), leurs
1956 : invention du disque dur permettant de stocker de plus producteurs considérant qu’il s’agit d’un bien commun. Mais
grandes quantités de données, avec un accès de plus en plus on assiste aussi au développement d’un marché de la donnée
rapide. où des entreprises collectent et revendent des données sans
1970 : invention du modèle relationnel (E. L. Codd) pour la struc- transparence pour les usagers. D’où l’importance d’un cadre
turation et l’indexation des bases de données. juridique permettant de protéger les usagers, préoccupation
à laquelle répond le règlement général sur la protection des
1979 : création du premier tableur, VisiCalc.
données (RGPD).
2009 : Open Government Initiative du président Obama. Les centres de données (datacenter) stockent des serveurs
2013 : charte du G8 pour l’ouverture des données publiques. mettant à disposition les données et des applications les exploi-
Impacts sur les pratiques humaines tant. Leur fonctionnement nécessite des ressources (en eau pour
L’évolution des capacités de stockage, de traitement et de diffu- le refroidissement des machines, en électricité pour leur fonc-
sion des données fait qu’on assiste aujourd’hui à un phénomène tionnement, en métaux rares pour leur fabrication) et génère
de surabondance des données et au développement de nouveaux de la pollution (manipulation de substances dangereuses lors
algorithmes capables de les exploiter. de la fabrication, de la destruction ou du recyclage). De ce fait,
L’exploitation de données massives (Big Data) est en plein les usages numériques doivent être pensés de façon à limiter
essor dans des domaines aussi variés que les sciences, la la transformation des écosystèmes (notamment le réchauffe-
santé ou encore l’économie. Les conséquences sociétales sont ment climatique) et à protéger la santé humaine.

Contenus Capacités attendues


Données Définir une donnée personnelle.
Identifier les principaux formats et représentations de données.
Données structurées Identifier les différents descripteurs d’un objet.
Distinguer la valeur d’une donnée de son descripteur.
Utiliser un site de données ouvertes, pour sélectionner et récupérer des données.
Traitement de données structurées Réaliser des opérations de recherche, filtre, tri ou calcul sur une ou plusieurs tables.
Métadonnées Retrouver les métadonnées d’un fichier personnel.
Données dans le nuage (cloud) Utiliser un support de stockage dans le nuage.
Partager des fichiers, paramétrer des modes de synchronisation.
Identifier les principales causes de la consommation énergétique des centres de données
ainsi que leur ordre de grandeur.

Localisation, cartographie et mobilité j Chapitre 6 p. 110


Repères historiques remplacent progressivement les cartes sur papier. Leurs inter-
Les cartes ont été systématiquement numérisées à la fin du xxe faces permettent d’accéder commodément à de nombreux types
siècle. Le principal instrument de localisation, GPS (Global Posi- d’information. Couplé aux algorithmes de calculs d’itinéraires,
tioning System), a été conçu par l’armée américaine dans les le GPS est utilisé systématiquement pour les transports, l’agri-
années soixante. Le premier satellite GPS fut lancé en 1978. Il culture, la randonnée, la navigation à voile, etc.
y en a actuellement une trentaine, de sorte qu’à tout moment Le maintien à jour des cartes numériques est un problème
quatre à six satellites au moins sont visibles depuis tout point de difficile qui demande beaucoup de ressources au plan mondial.
la Terre. Couplé aux cartes numériques, le système GPS permet Les erreurs dans les cartes, inévitables à cause de l’énorme
de se situer. Il n’est pas toujours efficace en ville, et peut être quantité d’informations à collecter, peuvent avoir des consé-
complété par d’autres moyens de localisation comme la détec- quences dramatiques.
tion de bornes Wi-Fi proches. D’autres systèmes plus précis, Par ailleurs, de nombreuses applications ont accès à la loca-
dont Galileo, sont en cours de déploiement. lisation dans un téléphone, ce qui leur permet d’envoyer des
publicités non désirées, de suivre vos itinéraires, ou de locali-
Impacts sur les pratiques humaines
ser une personne. Enfin, le GPS n’est pas toujours sûr, car facile
Les cartes numériques, accessibles depuis un téléphone,
à brouiller à l’aide d’appareils simples.

Contenus Capacités attendues


GPS, Galileo Décrire le principe de fonctionnement de la géolocalisation.
Cartes numériques Identifier les différentes couches d’information de GeoPortail pour extraire différents types de données.
Contribuer à OpenStreetMap de façon collaborative.
Protocole NMEA 0183 Décoder une trame NMEA pour trouver des coordonnées géographiques.
Calculs d’itinéraires Utiliser un logiciel pour calculer un itinéraire.
Représenter un calcul d’itinéraire comme un problème sur un graphe.
Confidentialité Régler les paramètres de confidentialité d’un téléphone pour partager ou non sa position.
8

04733675_001-096.indd 8 28/08/2019 12:19


Informatique embarquée et objets connectés j Chapitre 7 p. 132
Repères historiques fabriquer des machines d’utilisation facile permettant des fonc-
1967 : premier système embarqué de guidage lors de la mission tionnalités améliorées, voire complètement nouvelles comme
lunaire Apollo. la voiture autonome. Celle-ci utilise à la fois des techniques
1971 : premier processeur produit par Intel. de systèmes embarqués pour son fonctionnement et sa navi-
1984 : sortie de l’Airbus 320, premier avion équipé de commandes gation et de l’intelligence artificielle pour l’analyse en temps-
électriques informatisées. réel de l’environnement à l’aide de capteurs variés (caméras,
radars, lidars, etc.).
1998 : mise en service du métro informatisé sans conducteur
Comme l’informatique embarquée interagit avec le monde
Météor (ligne 14 à Paris).
physique en exposant quelquefois des vies humaines ou des
1999 : introduction de l’expression « internet des objets » par équipements critiques (réseaux électriques par exemple), elle
Kevin Ashton. est soumise à de fortes contraintes de sûreté (absence d’erreurs)
2007 : arrivée du smartphone. et de sécurité (résistance aux attaques). En avionique, ferro-
On estime à 50 milliards le nombre d’objets connectés en 2020. viaire ou autres applications critiques, des processus lourds de
certification externe sont utilisés. Cependant, dans beaucoup de
Impacts sur les pratiques humaines systèmes embarqués moins critiques, la sécurité reste souvent
L’impact de l’informatisation des objets devient considérable, un point faible, et les objets connectés sont de plus en plus
surtout depuis que leurs interfaces s’unifient. Le but est de utilisés comme robots pour lancer des attaques sur internet.

Contenus Capacités attendues

Systèmes informatiques Identifier des algorithmes de contrôle des comportements physiques à travers les données
embarqués des capteurs, l’IHM et les actions des actionneurs dans des systèmes courants.

Interface homme-machine (IHM) Réaliser une IHM simple d’un objet connecté.

Commande d’un actionneur, Écrire des programmes simples d’acquisition de données ou de commande d’un actionneur.
acquisition des données d’un
capteur

La photographie numérique j Chapitre 8 p. 152


Repères historiques graphie archive (histoire de famille) s’ajoutent la photographie
1826 : naissance de la photographie argentique. à partager et la photographie utilitaire, prothèse de la mémoire
1900 : photographie en couleurs. Après la seconde guerre (photo d’un ticket de caisse, d’une présentation lors d’une réunion
mondiale, généralisation du format 24 × 36 et de la visée reflex. de travail, d’une place de parking, etc.). Les images s’intègrent à
1969 : arrivée des premiers capteurs CCD (Charge Coupled tous les dispositifs de communication et de partage, téléphones,
Device). Web et réseaux sociaux.
De nouveaux problèmes apparaissent, liés à la diffusion de
1975 : apparition des premiers appareils numériques.
photos qui ne disparaîtront jamais (notion de droit à l’oubli), au
2007 : arrivée du smartphone. trucage difficile à détecter des images, au pistage des indivi-
Impacts sur les pratiques humaines dus ou à l’obso­lescence des supports. Est ainsi posée la ques-
La gratuité et l’immédiateté de la réplication des images intro- tion de l’archivage de photographies historiques, scientifiques
duisent de nouveaux usages de la photographie : à la photo- ou culturelles.

Contenus Capacités attendues

Photosites, pixels, résolution (du Distinguer les photosites du capteur et les pixels de l’image en comparant les résolutions du
capteur, de l’image), profondeur capteur et de l’image selon les réglages de l’appareil.
de couleur

Métadonnées EXIF Retrouver les métadonnées d’une photographie.

Traitement d’image Traiter par programme une image pour la transformer en agissant sur les trois composantes
de ses pixels.

Rôle des algorithmes dans les Expliciter des algorithmes associés à la prise de vue.
appareils photo numériques Identifier les étapes de la construction de l’image finale.

04733675_001-096.indd 9 28/08/2019 12:19


Avant-propos
Un important travail de « transposition » a été réalisé lors de la rédaction du
manuel pour rendre les notions informatiques du programme accessibles
aux élèves de seconde, quels que soient leurs centres d’intérêt et leurs choix
ultérieurs d’orientation.
L’enjeu de cet enseignement est de donner une culture générale pour toutes
et tous afin de permettre aux élèves d’être des acteurs – et pas seulement
des consommateurs – du monde numérique. Il s’agit aussi de donner une
image juste de la discipline « informatique » pour permettre aux élèves de
s’y orienter, ou non, en connaissance de cause.
L’articulation forte entre numérique et informatique est un aspect fonda-
mental de cet enseignement. L’atteinte de cet objectif pourra être mesurée
aux réactions des élèves. Celles attendues sont de l’ordre de : « Ah, c’est pour
ça que... ». L’ancrage des activités dans les pratiques sociales des élèves est
important pour que les algorithmes travaillés prennent sens et donnent
à comprendre le monde numérique dans lequel vivent les élèves, sans en
percevoir le plus souvent le fonctionnement interne.
Les enjeux juridiques, économiques, sociaux et surtout environnementaux
du numérique ne doivent pas être négligés. Les débats seront fructueux,
les exposés seront intéressants si la matière est de qualité et les arguments
fondés sur la compréhension de la science. Il ne s’agit pas de morale – de
dire ce qui est bien ou mal – mais d’analyser un système complexe en déco-
dant la logique des différents acteurs pour contribuer ainsi à l’émancipa-
tion individuelle et collective des élèves.
La réussite de cet enseignement est maintenant entre vos mains. Je vous
souhaite beaucoup de plaisir avec vos élèves dans cet enseignement.
En espérant y contribuer par ce manuel, et son accompagnement par le
présent livre du professeur,
Bien cordialement à toutes et tous,
Christophe Declercq

10

04733675_001-096.indd 10 28/08/2019 12:19


Préambule
L’enseignement de Sciences numériques et Technologie (SNT) en classe
de seconde est un enseignement pour tous les élèves. Il a pour objectif, en
donnant accès aux concepts des sciences du numérique, de leur donner les
clés pour comprendre le monde numérique et ses enjeux.
Ce manuel a l’ambition d’être accessible à toutes et tous, élèves et ensei-
gnants, et d’ainsi contribuer à l’émergence d’une culture commune liant
intimement informatique et numérique. Les concepts informatiques au
programme – machine, information, algorithme, langage – sont présentés
de la manière la plus élémentaire et constituent pour chacun des thèmes
étudiés une grille de lecture et de compréhension. Les choix proposés dans
ce manuel reposent systématiquement sur un juste équilibre entre rigueur
scientifique et accessibilité. En particulier l’équilibre entre numérique et
informatique a été pensé pour mettre la science informatique au service
de la compréhension du monde numérique.
Dans chaque chapitre correspondant aux thèmes du programme, des acti-
vités de découverte permettent, sans connaissance préalable, de mener
des investigations permettant d’appréhender les principales probléma-
tiques du chapitre. La partie Cours est destinée à servir de référence pour
l’élève et pour l’enseignant, et propose des définitions simples – mais justes
– de toutes les notions au programme. Les activités permettent de mettre
en application et de travailler les compétences au programme. Les parties
Analyse et débats proposent, à partir de documents authentiques soigneu-
sement choisis, des pistes de réflexion et des sujets d’exposés ou de débats
sur les grands enjeux du numérique. L’articulation de l’ensemble a été pensée
pour que les élèves disposent, pour ces débats, des arguments scientifiques
leur permettant de fonder leur raisonnement. Les parties les plus difficiles
du programme ont été systématiquement reportées sous la rubrique Pour
aller plus loin pour marquer nettement les différentiations possibles selon
l’appétence des élèves et permettre à ceux qui envisageraient de choisir la
spécialité Numérique et Sciences informatiques (NSI) d’en découvrir quelques
enjeux scientifiques.
Les notions fondamentales d’informatique et de programmation sont
présentées dans un premier chapitre transversal Informatique et numé-
rique. Le choix dans le manuel d’une notation graphique par blocs pour les
algorithmes permet d’aménager une transition en douceur de la program-
mation par blocs, vue au collège, vers la programmation en langage Python.
Le formalisme a été volontairement réduit au minimum pour favoriser l’ex-
pression des élèves dans un langage informatique simplifié. Les exemples
sont empruntés aux pratiques des élèves et reposent le moins possible sur
les mathématiques. La présentation du langage Python est limitée à un
noyau minimal permettant de réaliser toutes les activités proposées dans
le manuel. Aucune expertise technique n’est attendue des élèves. Les acti-
vités proposées et les programmes commentés dans le manuel font tous au
plus vingt lignes de code.
11

04733675_001-096.indd 11 28/08/2019 12:19


Les chapitres thématiques suivants sont tous organisés autour du même
schéma articulant historique, découvertes, notions scientifiques et enjeux
liés aux usages du numérique. Dans chaque chapitre, un site à explorer peut
être proposé aux élèves en autonomie.
Un algorithme emblématique est discuté en détail pour donner à comprendre
et permettre des activités accompagnées. L’objectif est à chaque fois de
donner du sens, de déchiffrer le fonctionnement et de montrer que le petit
nombre de concepts vus au premier chapitre permet de comprendre aussi
bien internet que la photographie numérique, les systèmes embarqués et
tous les autres thèmes abordés.
jLe chapitre 2 Le réseau internet accompagne les élèves vers la compré-
hension de l’algorithme du routage IP en explicitant uniquement les méca-
nismes permettant d’en étudier les enjeux. La commutation par paquets
et le fonctionnement décentralisé permettent de comprendre l’absence de
garantie temporelle et d’aborder les problématiques de la neutralité et de
la gouvernance d’internet. Des détails techniques – tels que le TTL – sont
volontairement occultés.
jLe chapitre 3 Le world wide web, en montrant l’envers du décor, permet de
donner du sens à des notions déjà rencontrées par les élèves – navigateur,
URL, HTTP. Le travail proposé sur l’algorithme PageRank permet ensuite de
débattre des enjeux sur l’information ou la coopération, en ayant compris
comment se construit la popularité d’un site.
jLe chapitre 4 Les réseaux sociaux distingue les questions d’usages et les expli-
cite en abordant la modélisation informatique des réseaux sociaux. À partir
d’activités principalement débranchées, l’objectif est de faire comprendre
que c’est de la structure des réseaux et des liens qui y sont tissés, que les
opérateurs des réseaux sociaux tirent les informations personnelles sur
lesquelles sont basés leurs modèles économiques.
jLe chapitre 5 Données et traitements aborde la manière de stocker des
données en table pour les exploiter. La transition d’activités avec un tableur
vers des activités de programmation est construite pour en montrer le
bénéfice pour l’exploitation de grandes quantité de données. Les enjeux
sociétaux des données publiques, du big data ou des données personnelles
peuvent alors être abordés en s’appuyant sur la compréhension de ce que
peuvent faire les algorithmes de traitement de données. Les algorithmes les
plus complexes – tri, fusion – sont volontairement reportés dans la partie
« Pour aller plus loin ».
jLe chapitre 6 Cartographie et localisation aborde ces thèmes avec une double
approche numérique – avec l’usage de sites spécialisés – et informatique –
en montrant comment cela est programmé. La présentation de l’algorithme
du plus court chemin, d’abord dans un mode débranché, permet d’éclairer
le fonctionnement des systèmes de localisation et de guidage utilisés par
les élèves. Les enjeux sont abordés à partir de la compréhension des infor-
mations stockées par les systèmes.
12

04733675_001-096.indd 12 28/08/2019 12:19


jLe chapitre 7 Informatique embarquée et objets connectés est articulé autour
de l’explicitation de l’algorithme fondamental d’un système de contrôle qui
répète indéfiniment lecture de capteurs et écriture sur des actionneurs.
La mise en activité des élèves est organisée autour du système le plus simple
disponible, pour éviter soigneusement toute difficulté de mise en œuvre,
sans nécessiter – ni pour l’élève ni pour l’enseignant – de compétences en
mécanique ou en électronique. Ce principe fondamental de programmation
des systèmes permet d’en discuter les enjeux de sécurité, de responsabilité
ainsi que les enjeux environnementaux associés.
jLe chapitre 8 Photographie numérique est lui aussi construit sur une
approche liant numérique et informatique. La représentation des infor-
mations est abordée à la fois par le biais d’activités débranchées, d’activités
avec des logiciels de traitement d’image et par la programmation. L’algo-
rithme fondamental de traitement d’image par traitement de chacun de ses
pixels est présenté pour pouvoir aborder les enjeux en sachant comment
une image peut être retouchée et manipulée.
Les compléments proposent des documentations synthétiques sur des envi-
ronnements choisis pour leur simplicité et leur qualités ergonomiques et
didactiques. En particulier, l’éditeur Mu proposé permet de programmer
l’ensemble des activités du manuel – y compris celles du chapitre 7 – dans
un unique environnement de programmation spécifiquement destiné aux
programmeurs débutants.

Organisation pédagogique
Le manuel est construit pour permettre des mises en œuvre diverses et faci-
liter son appropriation par l’enseignant dans le respect de sa liberté pédago-
gique. Quelques hypothèses ont cependant été posées pour tenter d’équilibrer
les activités proposées. Certaines peuvent se faire en classe entière et ne
nécessitent pas d’ordinateurs : c’est le cas de la plupart des activités notées
« activités débranchées » signalées par le pictogramme ci-dessous.

Certaines nécessitent l’usage d’ordinateurs (et parfois de calculatrices) pour


chaque élève ou binôme d’élèves et ont vocation à être réalisées en groupes
de taille réduite. Elles sont signalées par le pictogramme ci-dessous.

Certaines ne nécessitent qu’un ordinateur pour la classe : c’est le cas des


activités de type exposé (analyse et débat).
13

04733675_001-096.indd 13 28/08/2019 12:19


La plupart des activités ont été calibrées pour pouvoir être menées en classe
sur une durée de 30 minutes à une heure. Les durées estimées sont indiquées
pour chaque activité. Le programme fait référence à une durée de quatre
semaines pour chaque thème sans imposer d’ordre de traitement entre les
thèmes. C’est donc cette hypothèse qui a été retenue pour le manuel.
Concernant l’équilibre entre activités sur ordinateurs et activités débran-
chées, on a fait l’hypothèse que sur un cycle de 4 semaines, soit 6 heures
d’enseignement, le temps d’activité sur ordinateur pouvait être estimé dans
un intervalle entre 2 et 4 heures, c’est-à-dire :
– soit une séance d’une heure, 1 semaine sur 2 ;
– soit une séance d’une heure et demie, 1 semaine sur 2 ;
– soit une séance d’une heure, chaque semaine.
Des conditions plus favorables sont évidemment envisageables, ainsi que
des organisations permettant de partager deux classes en trois groupes ou
de diviser systématiquement une classe en deux demi-groupes.
Pour s’adapter à ces différentes organisations, on a proposé de manière
équilibrée, pour chaque thème, des activités débranchées pouvant occuper
jusqu’à 4 heures d’enseignement et des activités sur ordinateur prévues
pour une durée totale équivalente. Il n’est évidemment pas indispensable
de faire toutes les activités proposées.

Le livre du professeur
Pour chaque chapitre, les activités proposées sont corrigées de manière
détaillée en mettant en évidence les différentes solutions possibles et
en analysant a priori les activités des élèves. L’attention est aussi portée
sur les conditions de mise en œuvre pour que les activités soient sources
d’apprentissages pour les élèves.
Même si la plupart des activités sont proposées « clé en main », certaines
peuvent nécessiter une adaptation en fonction de l’environnement infor-
matique disponible au lycée. C’est le cas en particulier des activités sur le
réseau et de celles impliquant un matériel spécifique. Des solutions alter-
natives sont proposées.
Certaines activités peuvent aussi être transposées selon le domaine d’appli­
cation ciblé. Par exemple, la série d’activités d’application du chapitre 5 sur
la pollution de l’air peut être transposée avec d’autres données économiques,
statistiques ou géographiques.

14

04733675_001-096.indd 14 28/08/2019 12:19


CHAPITRE 1
Informatique et numérique
Introduction
Ce chapitre est transversal. Le programme précise : « Au collège (cycle 4), les élèves
ont découvert et pratiqué les éléments fondamentaux d’algorithmique et de program-
mation. Le programme de seconde de mathématiques approfondit l’apprentissage de
la programmation. Une coordination avec le cours de mathématiques est donc néces-
saire pour déterminer à quel moment des éléments de programmation peuvent être
utilisés en sciences numériques et technologie ».
Ce chapitre est destiné à poser les notions fondamentales d’informatique et à préciser
son articulation avec le numérique. Au-delà de l’algorithmique et de la programma-
tion, il permet aussi de préciser les notions de machine et d’information.
Selon la progression choisie, on pourra choisir de consacrer quelques semaines
en début d’année aux activités de ce chapitre ou les utiliser, le moment venu, pour
travailler sur une de ces notions.
D’emblée, les repères historiques permettent d’établir une filiation des concepts d’al-
gorithme, de machine, de langage et d’information.

Activités de découverte

Activité 1. Un site à découvrir : France-IOI


j Activité branchée nécessitant une connexion à internet :
exploration d’un site emblématique du thème étudié.
j Adresse du site : http://www.france-ioi.org/algo/index.php

Cette activité de découverte autonome peut répondre à la curiosité des élèves et


engager les plus intéressés à poursuivre leur apprentissage. Le site France IOI s’ins-
crit dans la continuité des sites Castor et Algorea de découverte de l’informatique pour
les écoliers et les collégiens. Son avantage est de prévoir une progression adaptée
aux lycéens à travers une séquence d’activités dont la bonne réalisation est testée
automatiquement par le serveur.
La différentiation est naturellement mise en œuvre, chaque élève avançant à son
rythme. La limite de l’usage en classe de ce système est la difficulté pour l’ensei-
gnant d’apporter les compléments au moment opportun pour chaque élève. C’est la
raison pour laquelle cette activité est proposée en autonomie.

Activité 2. Le jeu de devinette


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

Cette activité s’attaque au premier obstacle repéré chez les programmeurs débutants :
comprendre que ce que l’on écrit dans le programme, c’est ce que devra exécuter la
15

04733675_001-096.indd 15 28/08/2019 12:19


machine, et ne pas confondre le rôle du programmeur avec celui de l’utilisateur qui
teste le programme. L’objectif est d’imaginer des dialogues, pour être ensuite capable
de les programmer (voir l’activité 5 d’application de ce chapitre).
1. L’utilisateur du jeu peut saisir des nombres entre 1 et 100.
2. Le jeu doit s’arrêter quand l’utilisateur saisit le nombre choisi par la machine.
3. La machine peut donner une réponse après chaque nombre proposé pour dire s’il
est « trop petit » ou « trop grand », ou pour dire que le nombre à deviner est « plus
grand » ou « moins grand ».
4. Il y a évidemment autant de dialogues possibles que de propositions de l’utilisa-
teur. On suppose seulement que la machine est bien programmée et ne triche pas.
Exemple de dialogue possible entre l’utilisateur et la machine : « - 25 - Trop petit. -
56 - Trop grand. - 42 - Trop grand. - 32 - Trop petit. - 40 - Trop grand. - 36 - Gagné ».
5. La stratégie la plus rapide est bien sur la dichotomie. Elle n’est pas simple à
formaliser car il faut retenir les précédents nombres proposés et les réponses de la
machine et en déduire qu’il faut essayer le nombre situé au milieu de l’intervalle des
nombres possibles restants.
On peut attendre des élèves qu’ils explicitent d’abord cette stratégie sur un exemple :
on propose 50 ; si la machine répond trop grand, on essaye 25. Si elle répond trop
petit, on essaye 37...
6. Oui, une stratégie peut être programmée : il faut préciser quelles sont les données
du problème. La deuxième machine reçoit la suite d’informations : + ; − ; + ; + ; ...
et doit calculer les meilleurs nombres à essayer : 50 ; 75 ; 62 ; 68 ;71...
7. Un dialogue possible entre les deux machines serait :
50 ; − ; 25 ; + ; 37 ; − ; 31 ; + ; 34 ; + ; 35 ; + ; 36 ; gagné.
On reste pour cette activité au niveau des informations échangées, ce qui constitue
un préalable avant de programmer effectivement le dialogue.

Activité 3. Le robot dessinateur


j Activité débranchée.
j Durée estimée : 30 minutes.

L’objectif est de redécouvrir la boucle dans un contexte proche des activités de dessin
vues au collège. L’absence de repère évite de se poser la question des unités utili-
sées : on suppose que l’instruction avance permet de déplacer le robot d’une case.
1. repete 4 fois
   avance, tourne à droite
2. L’évaluation permet de redessiner le motif de la figure 1 .
3. repete 4 fois
  repete 3 fois
   avance, tourne à droite
  tourne à droite, tourne à droite
L’imbrication de boucles est loin d’être évidente. On doit s’attendre plutôt de la part
des élèves à des propositions avec une seule boucle du type :
repete 3 fois
   avance, tourne à droite
tourne à droite, tourne à droite
repete 3 fois
   avance, tourne à droite
16

04733675_001-096.indd 16 28/08/2019 12:19


Chapitre 1 Informatique et numérique

tourne à droite, tourne à droite


repete 3 fois
   avance, tourne à droite
tourne à droite, tourne à droite
repete 3 fois
   avance tourne à droite

Activité 4. La mémoire des machines


j Activité débranchée.
j Durée estimée : 15 minutes.

Les programmes de calcul sont à la fois un élément historique dans la programma-


tion des ordinateurs et une technique utilisée au collège pour l’acquisition de l’al-
gèbre élémentaire. L’objectif de cette activité est de dépasser cette méthode pour
amener l’élève à écrire des expressions plus complexes et à découvrir l’affectation
des variables informatiques dans son sens actuel.
1. M5 ← (M1 + M2 + M3 + M4)/4
2. M10 ← ((M1 + M2)/2 + (M3 + M4)/2)/2
On peut aussi écrire l’équivalent avec d’autres noms de variables et constater que
les deux programmes font exactement le même calcul.

Cours
Le cours introduit progressivement les notions de machine, système, information,
variable. Les notions de variable et d’affectation sont difficiles et sont introduites avec
un exemple de traitement de chaîne de caractères pour éviter la confusion avec la
variable en mathématiques, qui désigne usuellement des nombres.
La définition proposée pour un algorithme est très générale et permet d’englober
toutes les descriptions de procédés pour faire ou calculer quelque chose. La préci-
sion souvent indiquée dans les ouvrages de mathématiques qu’un algorithme s’exé-
cute en un nombre fini d’étapes a été volontairement enlevée, car les algorithmes
utilisés pour le contrôle de systèmes embarqués (voir le chapitre 7) ne se terminent
pas. Ce sont pourtant bien des algorithmes !
Les différentes manières de structurer des algorithmes – séquence, boucle, condition-
nelle – sont présentées avec une représentation graphique héritée de la programma-
tion par blocs (Scratch, mBlock…). Les notations sont intuitives et le moins formalisées
possibles car destinées à un lecteur humain. En particulier, il est inutile de noter la fin
des structures (fin si, fin tant que) car c’est explicite avec l’imbrication graphique. Le
cas échéant, les élèves auront le temps de découvrir ultérieurement d’autres conven-
tions de notation plus formelles lors d’enseignements de spécialité.
La programmation en langage Python est présentée via la traduction des algo-
rithmes. Les notions d’expressions et d’instructions sont bien distinguées, ce qui est
fondamental pour les premières expérimentations avec l’interprète Python (voir
l’Aide-mémoire dans le manuel de l’élève p. 176) et pour écrire correctement des
programmes.
Cette présentation du langage Python est limitée aux éléments utiles pour les acti-
vités au programme de SNT de la classe de seconde.
17

04733675_001-096.indd 17 28/08/2019 12:19


Activités d’application

Activité 5. Programmation du jeu de devinette


j Activité branchée sur poste informatique ou calculatrice Casio, TI et Numworks.
j Durée estimée : 30 à 45 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Pour ordinateur, Casio et Texas Instruments : Chap1_Act5.py ; Chap1_Act5_Solution_
Question1.py ; Chap1_Act5_Solution_Question3.py ; Chap1_Act5.8xv ; Chap1_Act5_
Solution_Question1.8xv et Chap1_Act5_Solution_Question3.8xv
Pour Numworks :
https://workshop.numworks.com/python/3-0-snt2de-2019/01_activite5

La première activité de programmation propose de modifier et améliorer le programme


de devinette dont le comportement a déjà été étudié dans l’activité 2 page 14.

1. L’ajout d’une variable compteur et son incrémentation à chaque essai permet


d’afficher le nombre d’essais à la fin :
from random import *
x = randint(1,100)
e = int(input("Devine ? "))
n = 1
while e != x:
if e < x:
print("Plus grand")
else:
print("Plus petit")
e = int(input("Essai ? "))
n = n + 1
print("Gagné en", n, "essais.")

2. Théoriquement, si l’utilisateur utilise la dichotomie, il doit gagner en sept essais


tout au plus car, à chaque fois, il divise par deux le nombre de choix possibles.

3. La programmation de la stratégie gagnante est difficile et peut être l’objet d’une


différentiation.
mi, ma = 1, 100
e = (mi + ma)//2
print("Essaie :", e)
reponse = input("Gagné (=), Plus (+), Moins(-) ? ")
while reponse != "=":
if reponse == "+":
mi = e + 1
if reponse == "-":
ma = e - 1
e = (mi + ma)//2
print("Essaie :", e)
reponse = input("Gagné (=), Plus (+), Moins(-) ? ")

Cette solution repose sur l’usage de deux variables pour mémoriser à chaque étape le
minimum (mi) et le maximum (ma) des nombres possibles en fonction des réponses
du programme de jeu. Ce programme s’arrête quand l’autre lui répond que le nombre
proposé a permis de gagner.
18

04733675_001-096.indd 18 28/08/2019 12:19


Chapitre 1 Informatique et numérique

Activité 6. Code PIN et code PUK


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

L’activité s’appuie sur un algorithme dont les élèves ont fait l’expérience, mais qu’ils
n’ont probablement jamais vu formalisé ainsi. Elle permet ainsi d’examiner trois algo-
rithmes en testant s’ils se comportent comme attendu.
Cette activité permet de développer chez l’élève la capacité à évaluer ce que fait un
algorithme qu’on lui présente et qu’il n’a pas écrit. Cette capacité est utile pour mettre
au point un programme.
1. L’algorithme ① demande systématiquement trois fois le code PIN et ne vérifie sa
correction qu’au 3e essai. L’algorithme ② peut demander un nombre quelconque de
fois le code PIN si l’utilisateur entre à chaque fois un code incorrect. L’algorithme ③
demande au plus 3 fois le code PIN et ne le redemande que s’il est incorrect.
2. Pour l’algorithme ①, le code PUK est demandé si le 3e essai du code PIN est
incorrect.
Pour l’algorithme ②, le code PUK est demandé aussitôt que le code PIN est correct.
Pour l’algorithme ③, le code PUK n’est demandé que s’il y a eu 3 codes PIN incorrects.
3. L’algorithme usuel de déverrouillage d’un téléphone portable est l’algorithme ③.

Activité 7. Suivi de ligne avec un robot


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

Cette activité est une activité préparatoire aux activités de programmation de systèmes
embarqués. On étudie seulement l’algorithme avec un modèle simplifié de robot
commandé par des instructions de démarrage et d’arrêt de ses moteurs.
1. Si le chemin est rectiligne et si le robot avance bien droit, il suffit de démarrer ses
moteurs au début et les arrêter à la fin du chemin.
demarre moteur droit
demarre moteur gauche
si capteur droit blanc ou capteur gauche blanc
arrete moteur droit
arrete moteur gauche
2. Si le chemin serpente, il faut à chaque moment tester si un des capteurs passe
au blanc, et dans ce cas arrêter le moteur opposé pour faire tourner le robot :
demarre moteur droit
demarre moteur gauche
tant que non (capteur droit blanc et capteur gauche blanc)
si capteur droit blanc
arrete moteur gauche
sinon demarre moteur gauche
si capteur gauche blanc
arrete moteur droit
sinon demarre moteur gauche
arrete moteur droit
arrete moteur gauche
19

04733675_001-096.indd 19 28/08/2019 12:19


La condition de la boucle peut aussi être écrite :
capteur droit noir ou capteur gauche noir
Ces algorithmes se terminent car on a précisé dans l’énoncé qu’à la fin du chemin
(deux capteurs blancs), le robot devait s’arrêter.
Si l’ensemble de l’algorithme n’est pas accessible aux élèves, on peut se contenter
d’écrire la partie centrale commandant les moteurs selon les capteurs et l’inclure
ensuite dans une boucle répéter sans préciser la condition d’arrêt.

Activité 8. Des pieds et des pouces


j Activité branchée sur poste informatique ou calculatrice Casio, TI et Numworks.
j Durée estimée : 15 à 30 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Pour ordinateur, Casio et Texas Instruments : Chap1_Act8.py ; Chap1_Act8_Solution_
Question1.py ; Chap1_Act8_Solution_Question3.py ; Chap1_Act8.8xv ;
Chap1_Act8_Solution_Question1. 8xv ; Chap1_Act8_Solution_Question3. 8xv.
Pour Numworks :
https://workshop.numworks.com/python/3-0-snt2de-2019/01_activite8

L’objectif de cette activité est d’observer un programme en apprenant à distinguer,


les mots clés, les noms des variables et les messages à l’intention de l’utilisateur.
Les deux premières catégories de mots n’ont évidemment pas à être traduites, seuls
les messages à l’utilisateur ont besoin d’être traduits en français.
1. Il suffit donc de traduire les messages entre " ".
feet = float(input ("Longueur (pieds) : "))
meters = feet * 0.3048
print ("Longueur (metres) : ", meters)
2. Le test des deux programmes doit donner les mêmes résultats, seul l’affichage
change. Si une erreur est détectée à l’exécution, c’est qu’une variable ou un mot-clé
ont été traduits par erreur.
3. Pour permettre à l’utilisateur de saisir la longueur en pieds et pouces, il suffit
d’ajouter une fonction de lecture et de tenir compte de cette saisie dans le calcul :
feet = float(input ("Longueur (pieds) : "))
inch = float(input ("Longueur (pouces) : "))
meters = (feet + inch/12) * 0.3048
print ("Longueur (metres) : ", meters)

20

04733675_001-096.indd 20 28/08/2019 12:19


Chapitre 1 Informatique et numérique

Analyse et débats
Les enjeux permettent d’éclairer le rapport entre numérique et informatique et de
poser la question du genre. Ces propositions peuvent être mises en œuvre sous des
formes diverses, exposés, débats.

Enjeu 1. Programmer ou être programmé ?


jD’autres documents historiques peuvent être utilisés pour illustrer la longue oppo-
sition entre numérique et informatique : en France, la période de l’option informa-
tique des lycées (années 1980) puis la période du B2i, où il n’était plus question que
d’outils, sans qu’il ne soit question d’enseigner leur fonctionnement interne.
jLa période actuelle est celle de la synthèse entre les deux approches dont l’ensei-
gnement des SNT en classe de seconde est l’aboutissement :
découvrir l’informatique pour comprendre le monde numérique.

Enjeu 2. L’informatique, une question de genre ?


jLa question du genre est particulièrement importante à soulever au moment où les
élèves s’engagent dans une orientation décisive vers trois spécialités en classe de
première. Il est souhaitable, pour la profession comme pour la société dans son entiè-
reté, que cette orientation ne soit pas effectuée sur la base de stéréotypes de genre.
jLe choix de la spécialité NSI (Numérique et sciences informatiques) en classes de
première et terminale peut être fait sur la base de compétences au raisonnement
logique, à l’abstraction, sur l’envie de prendre du pouvoir sur le monde en en maîtri-
sant les algorithmes ou sur les perspectives d’études supérieures dans le domaine.
jDes comparaisons internationales peuvent être évoquées.
L’intérêt de mener un débat réside principalement dans sa capacité à déconstruire
le stéréotype de genre concernant les métiers de l’informatique.

21

04733675_001-096.indd 21 28/08/2019 12:19


04733675_001-096.indd 22 28/08/2019 12:19
CHAPITRE 2
Le réseau internet
Introduction
La première difficulté de ce chapitre est de déconstruire l’amalgame courant chez
les élèves entre internet et le web. Ici, il n’est question que du réseau en terme d’in-
frastructure matérielle et logicielle. L’application web est traitée au chapitre 3.

Activités de découverte
À part l’activité de découverte autonome qui peut être proposée à faire à la maison
avant la première séance, toutes les activités de découverte proposées dans ce
chapitre sont débranchées.

Activité 1. Un site à explorer : Internet Society


j Activité branchée nécessitant une connexion à internet :
exploration d’un site emblématique du thème étudié.
j Adresse du site : https://www.internetsociety.org/fr/

Le site de l’Internet Society est assez dynamique et propose des actualités variées.
On retrouve cependant facilement, les éléments historiques dans la rubrique
Internet/histoire d’internet ainsi que le nom des fondateurs du site : Robert Kahn
et Vinton Cerf, en 1992.
On peut y relever des citations décrivant son statut et son rôle :
« Internet Society est une organisation mondiale axée sur les causes, gérée par un
conseil d’administration diversifié qui veille à ce que l’Internet reste ouvert, transpa-
rent et défini par vous. »
Le Global internet report est publié tous les un ou deux ans.
À l’heure de publication de ce manuel, le rapport 2019 n’est pas encore paru.
L’objectif de cette première recherche est de montrer le fonctionnement décentra-
lisé d’internet et d’évoquer les valeurs d’ouverture, de neutralité et de coopération,
ainsi que la volonté de sécurisation du réseau.

Activité 2. 4 800 ou 9 600 bauds


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est de montrer que la communication entre machines


fonctionne si leurs programmes sont cohérents entre eux. Il s’agit pour cette acti-
vité de découverte de construire – sans nécessairement les nommer – la nécessité
des protocoles.
1. a. Pour répondre à cette question, l’activité des élèves consiste à exécuter pas à
pas les deux algorithmes proposés. Le travail peut être proposé par binôme pour
que chacun en exécute un seul. Le message affiché est « onjour tout le mondeZ ».
23

04733675_001-096.indd 23 28/08/2019 12:19


On constate donc que le 1er caractère du message n’est pas affiché, mais que le Z
est affiché alors qu’il est prévu pour terminer la communication.
b. Une correction possible est d’inverser les deux dernières instructions de l’algo-
rithme de l’ordinateur ②.
2. Si le premier ordinateur va plus vite et n’est pas synchronisé avec le second, celui-ci
ne recevra qu’un caractère sur deux : « Bnortu emne ».
3. a. Si le message transmis contient des « A », ils seront bien transmis, mais s’il
contient des « Z », le premier « Z » terminera la communication.
b. On conclut sur la nécessité de caractères spéciaux, ne faisant pas partie des
messages, pour marquer les début et fin de communication.

Activité 3. Connexion Bluetooth


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Cette activité permet de découvrir qu’il existe des protocoles d’établissement de


communication et qu’ils sont nécessaires pour communiquer de manière sécurisée.
Il y a différentes variantes du protocole de connexion Bluetooth ; l’enjeu n’est pas
de les examiner en détail, mais seulement d’identifier les enjeux. Cette activité peut
être menée à partir des expériences des élèves, effectuées en direct ou relatées. On
peut connecter deux appareils entre eux (smartphones par exemple) ou un ordina-
teur et un périphérique sans fil.
1. La phase d’association, ou appairage, nécessite qu’une demande soit effectuée
sur un des appareils et qu’elle soit acceptée par l’autre.
2. Pour sécuriser l’association et identifier de manière sûre l’autre appareil, il convient
de saisir un code. Certains périphériques ont un code fixé, imprimé de manière discrète,
qu’il faut saisir sur l’appareil à appairer. Pour les ordinateurs ou smartphones, le code
à utiliser est le plus souvent modifiable et indiqué dans les paramètres.
3. Certains périphériques sans fil disposent seulement d’un bouton d’association qui
les rend visibles pendant un certain intervalle de temps. C’est alors le premier appa-
reil à s’appairer qui pourra établir une communication avec ce périphérique.
On peut ainsi aller jusqu’à évoquer que le choix d’un protocole particulier est un
compromis entre simplicité – ça se connecte tout seul – et sécurité – on maîtrise
quel appareil est connecté à quel autre.

Activité 4. Tous connectés !


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Cette activité est destinée à examiner différentes topologies de réseau et en déduire


les propriétés liées à chaque topologie.
1. a. Pour connecter 10 ordinateurs entre eux, deux à deux, il faut :
9 + 8 + 7 + ... + 2 + 1 = 45 câbles.
b. L’inconvénient est bien sûr que chaque ordinateur ayant alors besoin de 9 prises
réseaux, cela fait beaucoup de fils à brancher !
Le gain est la garantie d’une communication privée deux à deux et une fiabilité maxi-
male, puisque la panne d’un ordinateur ne risque pas d’affecter les autres.
24

04733675_001-096.indd 24 28/08/2019 12:19


Chapitre 2 Le réseau internet

2. a. Pour connecter 10 ordinateurs en ligne, il suffit de 9 câbles. Chacun a besoin


d’une ou deux prises réseaux.
b. Le premier et le dernier communiquent en passant par tous les autres.
c. Si un ordinateur est éteint, le réseau est coupé en deux sous-réseaux : certains
ordinateurs ne peuvent plus communiquer entre eux.
3. a. Avec 20 câbles pour 10 ordinateurs, on peut construire un réseau maillé où
chaque ordinateur est connecté en moyenne à quatre autres ordinateurs.
b. Il y a de nombreux chemins possibles pour communiquer entre deux machines.
La dernière topologie est plutôt celle choisie entre les routeurs du réseau internet.
Pour connecter des machines individuelles, on utilise de préférence des commuta-
teurs permettant de ne connecter chaque machine qu’avec une seule liaison, obte-
nant ainsi une topologie en étoile.

Cours
On présente le fonctionnement d’internet en suivant l’architecture en couches des
réseaux mais sans les nommer, pour éviter d’introduire des abstractions inutiles à ce
niveau. Cela permet de faire comprendre progressivement comment communiquent
deux machines par des liaisons, puis comment un réseau est interconnecté au niveau
IP, puis comment des informations plus complexes sont transportées au niveau TCP.
De la même manière, on évite la terminologie spécialisée trame/paquet/datagramme/
segment pour parler indifféremment de messages au différents niveaux. On évoque
seulement la notion de paquet pour expliciter la formule « commutation de paquets ».
Cette présentation simplificatrice permet cependant de donner tous les éléments
permettant de distinguer les protocoles IP et TCP, de comprendre comment fonc-
tionne le routage et d’en déduire que la communication avec ces protocoles est fiable
mais sans garantie temporelle.
On peut aussi en déduire que ces protocoles sont indépendants des matériels utilisés
et permettent d’interconnecter des réseaux très hétérogènes, utilisant des techno-
logies variées. Ceci permet ensuite d’aborder les enjeux avec des arguments fondés
sur les modes de fonctionnement réels du réseau.

Activités d’application
Le thème du chapitre se prête à la fois à des activités d’observation du réseau sur
ordinateur et des activités débranchées permettant de réfléchir aux algorithmes de
routage. Les activités de programmation sont reportées dans la partie « Pour aller
plus loin », car dans ce thème la programmation devient rapidement complexe.

Activité 5. Des adresses Wi-Fi ou 4G ?


j Activité branchée sur smartphone.
j Durée estimée : 15 minutes.

L’objectif de cette activité est d’observer que l’obtention d’une adresse IP par une
machine est indispensable pour être connectée à internet et obtenir des informations
d’un serveur. L’intérêt de faire tester cette activité par les élèves avec leurs smart-
25

04733675_001-096.indd 25 28/08/2019 12:19


phones est que ceux-ci disposent le plus souvent de plusieurs liaisons possibles, ce
qui leur permet d’obtenir des adresses IP différentes.
Selon les règles en vigueur dans le lycée, on peut être amené à faire réaliser l’acti­
vité à domicile et demander aux élèves de collecter les informations demandées pour
les partager en classe.

Activité 6. Des adresses Ethernet


j Activité branchée sur poste informatique.
j Durée estimée : 15 minutes.

L’objectif de cette activité à réaliser en salle informatique est d’observer les adresses
IP des ordinateurs puis comparer avec l’adresse annoncée quand un ordinateur local
se connecte à un site distant. Cela permet de mettre en évidence la notion de réseau
local avec des adresses privées, inconnues depuis le réseau internet, et la notion
d’adresse publique.
De nombreux services en ligne proposent de révéler l’adresse IP publique avec
laquelle une machine s’y connecte. C’est une manière de prendre connaissance de
cette adresse, qui est le plus souvent la même pour toutes les machines d’un établis-
sement si elles sont connectées en réseau local privé.
Attention ! La plupart de ces services sont des fournisseurs de solution de réseau
privé virtuel, une technologie qui permet de cacher son adresse IP publique en se
connectant à internet via ce réseau privé.

Activité 7. Le routage débranché


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

L’activité de routage débranché peut être mise en place en classe en distribuant aux
élèves un rôle – routeur ou machine – et une adresse associée. Le déroulement de
l’activité permet de mettre en évidence que si chaque routeur fait correctement son
travail, les messages sont acheminés de proche en proche et arrivent à destination,
sans besoin de quelqu’un pour superviser l’ensemble et donner les ordres. On a donc
bien un fonctionnement décentralisé. Cette activité illustre de manière simplifiée le
routage au niveau IP. Elle peut être poursuivie avec l’activité 11 page 41.
1. Chaque élève simulant un routeur doit remplir la table de routage jDoc. 2 pour
prévoir à l’avance dans quelle direction acheminer les messages à destination de
chaque sous-réseau. Le tableau à remplir peut être imprimé en avance et distribué
aux élèves concernés.
2. Le bon fonctionnement du réseau dépend de la bonne coopération de l’ensemble
des acteurs. Dans le déroulement de l’activité, on peut commencer doucement en
envoyant quelques messages, puis tenter d’accélérer le processus. Si un début d’en-
gorgement se produit au niveau d’un routeur, on s’aperçoit que les messages finissent
par arriver... mais au bout d’un certain temps.
3. Cette étape de simulation de panne montre que des messages peuvent être perdus
si un routeur arrête son fonctionnement.
4. Il s’agit ici de reconfigurer le réseau et de prendre conscience qu’après une panne
transitoire, si les tables des routeurs sont mises à jour, les messages peuvent être
acheminés par un autre chemin.
26

04733675_001-096.indd 26 28/08/2019 12:19


Chapitre 2 Le réseau internet

Activité 8. Test de la connexion réseau


j Activité branchée sur poste informatique.
j Durée estimée : 15 minutes.

Aucune expertise technique n’est attendue des élèves concernant les commandes
proposées. Il s’agit simplement d’activités d’observation permettant de prendre
connaissance des informations disponibles.
1. L’objectif de l’activité est d’observer sur un ordinateur les informations liées à
sa connexion au réseau. Elle complète et prolonge l’activité 6 p. 38. Pour pouvoir la
réaliser, il faut pouvoir ouvrir une fenêtre de commande sur les ordinateurs.
2. La seconde consigne permet aux élèves de lister les interfaces réseau disponibles
sur l’ordinateur. Dans le cas d’un réseau filaire, on doit trouver une connexion de type
Ethernet et pouvoir lire l’adresse IP ainsi que l’adresse MAC.
3. Il s’agit d’envoyer un message de test à un serveur accessible sur internet. Chaque
envoi donne le temps mis pour un aller-retour vers ce serveur et donne une idée de la
rapidité du réseau. Ces temps ne peuvent pas être utilisés pour en déduire la distance
du serveur, car la plus grande partie du temps mesuré correspond à du temps de
traitement par des routeurs et non au temps d’acheminement du signal électroma-
gnétique par un câble.

Activité 9. Adresse IP et adresse symbolique


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.

Cette activité prolonge l’activité précédente et peut permettre d’observer le lien entre
une adresse IP et l’adresse symbolique associée.
Attention ! Selon les configurations des serveurs, les adresses IP annoncées par la
commande ne sont pas toujours accessibles, ni enregistrées dans un serveur
de noms DNS. Dans ce cas, il faut essayer avec un autre serveur.
Il est donc prudent pour cette activité de laisser les élèves chercher des sites variés
et de mettre en commun ensuite les informations qui ont pu être obtenues.
La quatrième consigne peut aussi être bloquée par les politiques de sécurité du navi-
gateur, qui peut empêcher l’accès direct à un site par son adresse IP.
Il convient de présenter cette activité comme une activité d’observation à la recherche
d’informations disponibles, mais ne pas chercher à expliquer les raisons techniques,
si les informations recherchées sont, dans certains cas, inaccessibles.

Activité 10. Observation du routage


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.

Cette activité est sujette aux mêmes consignes de prudence que les deux activités
précédentes.
C’est la suite des activités précédentes 8 et 9 avec l’exploration du résultat de deux
commandes supplémentaires, permettant d’observer le routage d’un message sur
internet et d’identifier les intermédiaires par lesquels les messages ont été acheminés.
27

04733675_001-096.indd 27 28/08/2019 12:19


Attention ! Il est inutile d’utiliser les commandes et avec des
adresses privées, car par définition des adresses privées ne sont pas connues publi-
quement des serveurs DNS.
S’il n’est pas possible d’effectuer ces commandes depuis un ordinateur du lycée,
une alternative consiste à utiliser un service en ligne permettant d’exécuter ces
commandes et d’en afficher le résultat dans une page web.
Par exemple, un whois en ligne est disponible sur le site de l’autorité qui gère les noms
de domaines en « .fr », l’AFNIC (association française pour le nommage Internet en
coopération) : https://www.afnic.fr/fr/produits-et-services/services/whois/

Activité 11. Transmission TCP


j Activité branchée sur poste informatique.
j Durée estimée : 30 à 45 minutes.

Cette activité est la suite logique de l’activité 7 p. 39. Elle permet d’explorer la trans-
mission de longs messages avec le protocole TCP. Elle donne une description assez
réaliste des algorithmes mis en œuvre avec les protocoles TCP et IP et permet de
conclure qu’il ne peut y avoir aucune garantie temporelle sur l’acheminement des
messages. L’information finit par arriver au bout d’un certain temps quand tous les
morceaux ont été éventuellement réexpédiés, et remis dans le bon ordre.
1. Il faut bien sûr ajouter un numéro d’ordre sur chaque morceau de message, car
on ne peut pas avoir la garantie que tous les morceaux passent par le même chemin
et sont acheminés à la même vitesse.
2. Le test peut, selon l’engorgement du réseau et la rapidité des routeurs, mettre en
évidence des messages dont les morceaux arrivent dans le désordre. Le destinataire
a bien besoin du numéro pour remettre les morceaux dans l’ordre.
3. Si on suppose qu’il peut y avoir des pannes, il faut mettre sur chaque message
l’adresse de l’expéditeur, ce qui permet au destinataire d’envoyer des accusés de
réception.
4. Plusieurs algorithmes sont possibles : si l’expéditeur reçoit les accusés de récep-
tion dans le même ordre que les messages envoyés, il peut continuer à attendre
les suivants ; s’il manque un (ou plusieurs) accusé(s) de réception, il peut choisir de
renvoyer un (ou tous) le(s) message(s) qui n’a (ont) pas encore été acquitté(s).
5. On retrouve bien dans le format technique utilisé les adresses IP de l’expédi-
teur (source) et du destinataire (destination). Le numéro est ici appelé « offset du
fragment ».

Analyse et débats
Les enjeux d’internet peuvent être abordés à partir de la connaissance de son orga-
nisation technique et de son fonctionnement.

Enjeu 1. Qui gouverne internet ?


jLa question de la gouvernance d’internet permet de revenir sur l’activité 1 p. 30 de
découverte de l’Internet Society, qui contrôle l’IETF en charge de l’élaboration des
standards. Cette forme d’organisation décentralisée, compatible avec le fonction-
28

04733675_001-096.indd 28 28/08/2019 12:19


Chapitre 2 Le réseau internet

nement technique du réseau, entre en opposition avec la logique d’états cherchant


à le réglementer. Les pistes de réflexion proposées permettent d’étudier certaines
de ces tensions.
jParmi les enjeux devant être arbitrés globalement figure l’attribution des noms de
domaine. Le rôle des États – qui peuvent chercher à censurer ou surveiller – et des
entreprises – qui peuvent vouloir influencer l’adoption de standards à leur profit –
est à interroger.

Enjeu 2. Le réseau internet est-il fiable ?


jLa question de la fiabilité du réseau peut être étudiée connaissant le principe de
ses algorithmes.
jLa qualité pour des diffusions en temps réel ne peut être garantie. La protection
contre les actes malveillants est difficile car les algorithmes reposent sur la coopé-
ration des machines interconnectées.
jLes documents proposés évoquent donc des problématiques difficiles : la diffusion
en streaming est assurée moyennant des algorithmes complexes d’adaptation du
flux de données au débit disponible.
jLes attaques par déni de service profitent du fait que les algorithmes des serveurs
sont programmés pour répondre à toutes les demandes reçues y compris si elles
ont été envoyées dans un souci de nuire.

Enjeu 3. La neutralité du net


jLa neutralité du net est un principe fondateur de plus en plus remis en cause à la
fois par des états et par des entreprises. Les enjeux sont multiples, liberté d’expres-
sion d’un côté, régulation du service pour en maîtriser le coût de l’autre.
jLes documents proposés permettent d’en aborder plusieurs aspects.
Le Doc. 1 introduit la position la Quadrature du Net, défenseur entre autre de la
neutralité du net.
Le Doc. 2 relate les arguments des opérateurs qui ont obtenu l’abrogation de la
neutralité aux États-Unis en 2017.
Le Doc. 3 est un document fictif annonçant des tarifs différenciés selon les types de
contenus consultés.

Enjeu 4. Internet, le média universel ?


jLa concentration de tous les moyens de communication sur la seule infrastructure
d’internet pose des questions. Les documents proposés évoquent les deux dernières
transitions en cours, celle du téléphone et celle de la télévision. Sont posées les ques-
tions de sûreté, de coût et d’environnement.
jPour la télévision, le remplacement d’une technologie (TNT) conçue pour faire de la
diffusion par une technologie (internet) conçue initialement pour de la communication
point à point, interroge par rapport au « gaspillage » du débit des liaisons d’internet.
jPour le téléphone, c’est la garantie de qualité de service (qualité du son) qui a
disparue avec le passage du réseau commuté à la voix sur IP.

29

04733675_001-096.indd 29 28/08/2019 12:19


Pour aller plus loin

Activité 12. Un chat en Python


j Activité branchée sur poste informatique.
j Durée estimée : 45 minutes.
j L’activité est à organiser en salle informatique, par binômes avec pour chacun
un ordinateur.
j Fichiers élèves et corrigés pour ordinateur disponibles sur site compagnon et
Bibliomanuel : Chap2_client.py ; Chap2_serveur.py ; Chap2_client_solution.py ;
Chap2_serveur_solution.py

Cette activité de programmation utilise les protocoles d’internet pour mettre en place
une communication entre deux machines. Les programmes fournis – à condition de bien
reporter le numéro IP réel de la machine utilisée comme serveur – permettent d’illus-
trer comment on peut fournir un service de chat en utilisant les primitives d’internet.
1. Il est important de bien lancer le programme serveur d’abord sur un ordinateur
2. Il faut donner l’adresse IP de cette machine à l’élève qui lancera le programme
client sur une autre machine.
3. On observe la communication du client vers le serveur.
4. Pour réaliser une communication bidirectionnelle, il suffit d’ajouter au client une
réception entre deux envois de messages :
import socket
s = socket.socket()
s.connect(("192.168.0.46", 50007))
message = input("? ")
while message != "Z":
s.send(bytes(message, "utf8"))
reponse = s.recv(1024).decode("utf8")
print(reponse)
message = input("? ")
s.send(b"Z")
s.close()
et d’ajouter au programme du serveur un envoi de message entre deux réceptions :
import socket
s = socket.socket()
s.bind(("", 50007))
s.listen(1)
client, adresse = s.accept()
print("Connecté avec", adresse)
message = client.recv(1024).decode("utf8")
while message != "Z":
print(message)
reponse = input("? ")
client.send(bytes(reponse,"utf8"))
message = client.recv(1024).decode("utf8")
s.close()
client.close()

30

04733675_001-096.indd 30 28/08/2019 12:19


CHAPITRE 3
Le world wide web
Introduction
Le premier paradoxe du web est l’écart important entre son usage quotidien par les
lycéens et leur ignorance de son fonctionnement. Une illustration simple de cet écart
est donnée par la pratique généralisée consistant à saisir des mots clés au lien d’une
URL dans la barre d’adresse d’un navigateur, sans savoir que cette pratique occa-
sionne un ralentissement de l’accès au site en passant au préalable par les services
d’un moteur de recherche.
L’enjeu de ce chapitre est de donner à comprendre la nature des informations échan-
gées et les mécanismes du web vu en tant qu’application sur le réseau internet. Cette
compréhension permet alors d’en éclairer les enjeux, l’impact des techniques de
publication sur l’évolution de l’information, les problèmes de vie privée et l’influence
des algorithmes sur la notion de popularité ou d’autorité (au sens du droit d’auteur).

Activités de découverte
Les activités de découverte de ce chapitre nécessitent toutes l’accès à un ordinateur
ou autre appareil connecté à internet.

Activité 1. Un site à explorer : Wikipédia


j Activité branchée nécessitant une connexion à internet :
exploration d’un site emblématique du thème étudié.
j Adresse du site : https://fr.wikipedia.org

Wikipédia est un site bien connu des lycéens comme source d’informations pour
construire des exposés ; son fonctionnement interne est en revanche beaucoup moins
connu. Le questionnement de cette activité de découverte autonome est construit
pour inciter les élèves à explorer l’envers du décor.
Wikipédia est un site emblématique du web, car c’est bien le mécanisme de publica-
tion décentralisée du web qui a permis l’émergence de cette encyclopédie.
Les réponses peuvent être trouvées sur le site lui-même.
1. La page d’accueil principale du site en français est :
https://fr.wikipedia.org/wiki/Wikipédia:Accueil_principal
2. Les nombres de contributeurs et de pages publiées évoluent continument.
En 2019, ils ont respectivement dépassé 16 000 (contributeurs) et 2 000 000 (pages).
3. Les principes fondateurs de Wikipédia peuvent être lus à l’adresse :
https://fr.wikipedia.org/wiki/Wikipédia:Principes_fondateurs.
Wikipédia est une encyclopédie publiée sous licence libre, qui recherche la neutra-
lité de point de vue, est un projet collaboratif qui suit des règles de savoir-vivre, et
n’impose aucune autre règle.
4. La page francophone sur le web est à l’adresse :
https://fr.wikipedia.org/wiki/World_Wide_Web.
31

04733675_001-096.indd 31 28/08/2019 12:19


5. On peut y remonter l’historique jusqu’au 6 novembre 2002. On trouve sur cette
page un commentaire ironique sur la manière dont le web était considéré à l’époque :
« World Wide Wait » (du verbe anglais to wait : attendre) ou encore : « World Wide Waste
of time » (de l’anglais waste of time : perte de temps).

Activité 2. Le code source


j Activité branchée nécessitant une connexion à internet.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité de découverte est de faire observer aux élèves la nature des
informations enregistrées dans une page web. Il n’y a aucune ambition d’expertise
technique en langage html : il s’agit simplement de constater les correspondances
entre ce qui est enregistré et ce qui est affiché dans le navigateur.
La page donnée à titre d’exemple est une page ancienne qui a deux intérêts : son archi-
tecture est très simple, ce qui permet de rapprocher simplement le html et sa visua-
lisation. C’est une des premières pages citant l’initiative d’accessibilité du web aux
personnes en situation de handicap, pouvant ainsi permettre d’évoquer cette question.
1. Le choix de la page à étudier est laissé à l’appréciation de l’enseignant. Selon les
académies, et l’environnement numérique de travail déployé, une simple page de l’ENT
peut tout à fait convenir. Il convient seulement de vérifier qu’elle ne contient pas trop
d’éléments interactifs et suffisamment de texte pour qu’il soit repérable facilement.
2. Selon le navigateur utilisé, la fonction peut avoir un libellé légè-
rement différent.
3. Les correspondances de texte à établir sont directes pour les textes hors balises.
4. En recherchant les images, on ne trouve que des noms de fichier image, mais pas
le codage de l’image elle-même. On peut parfois trouver un texte alternatif à l’image
– texte pouvant être lu pour les internautes ne percevant pas les images – ce qui
renvoie à la question de l’accessibilité.
5. Les points à remarquer concernent la présence de balises (textes entre < >) qui ne
sont pas visualisées mais interprétées dans le navigateur, et les différences de mise
en page entre le html et sa visualisation.

Activité 3. Les URLs


j Activité branchée nécessitant une connexion à internet.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est d’identifier différentes formes d’URL et de découvrir la


structure générale d’une adresse.
1. C’est bien sûr http – ou sa variante sécurisée https – qui est le mot clé qui débute
toute URL contenant un lien vers une ressource hypertexte du web.
2. La manipulation d’adresses complètes de pages et leur « raccourcissement »
permettent d’identifier l’adresse du site hébergeant la page.
C’est aussi une pratique à encourager pour rechercher dans quel contexte a été
publiée une page retrouvée par l’intermédiaire d’un moteur de recherche.
3. Les URL de type « mailto » permettent de préfixer une adresse de courrier élec-
tronique. Selon la configuration du navigateur, cliquer sur une URL de ce type peut
lancer la messagerie associée si elle a été au préalable correctement configurée.
32

04733675_001-096.indd 32 28/08/2019 12:19


Chapitre 3 Le world wide web

Attention ! Ceci ne permet pas d’accéder directement à un système de messagerie


de type « webmail ».
4. L’ouverture d’un fichier en local par un navigateur web se fait généralement avec
le protocole « file ».
5. Les mots clés « http », « mailto » ou encore « file » commençant une URL sont mani-
festement présents pour indiquer comment la suite de l’adresse doit être comprise.

Activité 4. L’historique de navigation


j Activité branchée nécessitant une connexion à internet.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est de mettre en évidence une (ou plusieurs) situation(s)
où l’on peut montrer que le navigateur s’est manifestement souvenu d’une naviga-
tion passée.
Selon le paramétrage des postes du lycée, il peut être utile d’adapter cette activité.
En particulier certaines configurations peuvent empêcher la mémorisation de l’his-
torique, l’enregistrement de cookies ou limiter l’accès en consultation à l’historique
ou aux cookies.
1. Si l’enregistrement de l’historique est activé, la navigation est effectivement enre-
gistrée et permet de revenir aux URL précédemment consultées.
2. Effacer l’historique peut permettre d’effacer tout ou partie des traces de navigation.
3. La connexion à un site de type ENT peut nécessiter de mémoriser des informa-
tions localement.
4. Si l’effacement de l’historique inclut les cookies et si le site du lycée dépose sur
les ordinateurs connectés un cookie de connexion, l’effacement peut entraîner une
déconnexion.
5. Le menu permet, s’il est accessible, de visualiser l’ensemble des sites
ayant demandé un enregistrement local d’informations, disponibles pour être renvoyées
lors de connexions futures au même site.
6. On peut conclure sur le nécessaire compromis entre confidentialité – le moins
de traces possibles enregistrées – et nécessité de continuité des communications –
enregistrement des connexions en cours.

Cours
L’enjeu de ce chapitre est de construire sur ce thème une culture générale à la fois
correcte et abordable.
Le cours permet de poser des définitions précises sur les notions et techniques
incontournables – http, URL – de présenter les langages de description du web, html
et css et de donner les principes de fonctionnement des moteurs de recherche et
de calcul de popularité.
On évoque, sans formalisation, la séparation fond/forme. Il est plus important que les
élèves retiennent qu’il s’agit de langages de description des pages et de leur mise en
forme que de retenir un ensemble de balises particulières. La présentation occulte
volontairement les différentes versions des langages (HML4.0, XHTML, HTML5).
33

04733675_001-096.indd 33 28/08/2019 12:19


De même, le langage JavaScript est seulement évoqué comme permettant de
programmer des interactions, mais n’est pas abordé, car hors programme de la
classe de seconde en SNT.
La classification entre sites statiques et dynamiques est donnée à titre pédago-
gique pour permettre de comprendre les interactions élémentaires entres clients et
serveurs web. Par souci de simplification, les possibilités offertes par le web 2.0 ne
sont même pas évoquées.
Les principes de fonctionnement des moteurs de recherche sont abordés dans leurs
grandes lignes : indexation et calcul de popularité. Les détails techniques des algo-
rithmes sont volontairement occultés, car la compréhension de ces principes suffit
à appréhender les enjeux du web.

Activités d’application
Les activités liées au développement de pages web nécessitent l’usage d’ordinateurs.
Les activités de réflexion autour des algorithmes d’indexation et de calcul de popula-
rité sont des activités débranchées ce qui permet, y compris dans ce chapitre, d’équi-
librer les activités avec et sans ordinateur.

Activité 5. Une nouvelle page


j Activité branchée sur poste informatique.
j Durée estimée : 30 à 45 minutes.
j Fichiers élèves disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap3_SiteWeb.zip

Le principe de cette activité est de permettre aux élèves de réaliser leurs premières
pages web par imitation et modification de pages fournies. On conseille d’utiliser
l’environnement le plus élémentaire possible – un simple éditeur de texte suffit –
pour éviter que certains éléments ne soient générés automatiquement à l’insu des
utilisateurs. La seule propriété souhaitable de l’éditeur est de faire une colorisation
syntaxique, ce qui aide considérablement pour réaliser des fichiers html corrects.
1. Après téléchargement du dossier de fichiers compressé, il convient de bien extraire
l’archive dans un dossier de l’utilisateur avant d’ouvrir les fichiers pour édition, sinon
les élèves risqueront de perdre leur travail.
2. L’ouverture dans le navigateur est le plus souvent le choix d’ouverture par défaut.
3. Pour ouvrir le fichier html en édition, il faut en général choisir et sélec-
tionner l’éditeur de texte adapté (Notepad++ par exemple).
4. C’est le rendu final qui permet de tester si la page html a été correctement saisie,
conformément aux vœux de son rédacteur.
La principale difficulté concernant les images est de bien référencer l’image depuis
la page html. Le plus simple est d’utiliser uniquement des adresses relatives et de
déposer toutes les pages html et toutes les images dans le même dossier.
Une erreur courante en cas de dépôt d’une réalisation sur un ENT est de déposer des
documents contenant des liens absolus, n’ayant de signification que sur la machine
où les documents ont été réalisés. L’exemple fourni ne montre volontairement que
cet usage des adresses relatives.
34

04733675_001-096.indd 34 28/08/2019 12:19


Chapitre 3 Le world wide web

Activité 6. Ajout de liens


j Activité branchée sur poste informatique.
j Durée estimée : 30 à 45 minutes.

L’objectif de cette activité est de passer d’une page à un mini-site en additionnant


les contributions d’un groupe d’élèves. La principale compétence travaillée est la
mise en place de liens entre les pages, en distinguant les liens internes à un groupe
de pages situées dans le même dossier et les liens externes donnés par leur URL.
Ce travail peut être effectué localement en centralisant les pages dans un même
dossier. La mise en œuvre précise dépend du contexte réseau de la salle informa-
tique utilisée.
Toute la mise au point peut être effectuée sans nécessiter de serveur web, car la
consultation peut être faite depuis le navigateur. Aucune publication n’est nécessaire
pour réussir cette activité.
Dans le cas où une publication sur intranet ou sur le web est envisagée, il convient
de régler au préalable à la fois les questions juridiques de droit d’auteur et de droit
à l’image et de respecter, le cas échéant, les règles de la communication publique.

Activité 7. Un changement de style


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichiers élèves disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap3_SiteWeb.zip

Cette activité permet de conclure la série d’activités de conception de pages web.


Aucune compétence spécifique CSS n’est exigible des élèves.
L’activité peut être effectuée par modification du fichier fourni et par imitation.
L’objectif est simplement de montrer l’intérêt de rassembler les indications de style
dans un seul fichier et de les appliquer à toutes les pages html réalisées.
La syntaxe des fichiers CSS doit être respectée rigoureusement, en particulier les
{ } : ; et est une source d’erreurs fréquentes.
1. L’ouverture dans le navigateur et dans un éditeur de texte peut aussi être remplacée
par un environnement spécifique d’édition html incluant l’édition et la prévisualisation.
2. L’inclusion du fichier de style avec la balise fournie permet de lire son contenu si
ce fichier est dans le même répertoire. Noter que le fichier html doit être rechargé à
chaque modification du CSS pour provoquer son rechargement.
3. La liste des attributs modifiables peut être très longue et dépend des balises utili-
sées. On se limite volontairement à des attributs communs (color) dont la modifica-
tion est facile à observer.
4. Pour mettre en évidence l’intérêt d’un fichier de styles, il est utile de tester plusieurs
pages utilisant le même.
5. Les conclusions peuvent se limiter aux principes d’usage. Il n’est pas au programme
d’évoquer le caractère imbriqué (cascading) des styles, ni leur application à des balises
de classes ou d’identifiants particuliers.

35

04733675_001-096.indd 35 28/08/2019 12:19


Activité 8. Comparaison de moteurs
j Activité branchée nécessitant une connexion à internet.
j Durée estimée : 15 à 30 minutes.

Cette activité d’observation a pour objectif d’identifier dans une navigation les moments
où un moteur de recherche est utilisé explicitement ou implicitement, puis à engager
une réflexion sur les résultats de recherche selon les moteurs utilisés.
1. Cette première question incite à accéder à une page web connue par sa descrip-
tion à l’aide de mots clés.
2. Le moteur de recherche associé au navigateur est sollicité pour transformer la
liste de mots clés en une URL correcte. Il est intéressant de consulter les menus du
navigateur pour identifier le moteur de recherche par défaut utilisé.
3. La recherche donne évidemment des résultats pouvant être très différents d’un
navigateur à l’autre. De manière moins évidente, on pourra aussi constater des diffé-
rences de résultats pour un même moteur selon les utilisateurs et, en particulier,
selon leurs historiques de recherches passées.
4. Qwant est un moteur de recherche français préservant la vie privée de ses utilisa-
teurs. Startpage est un méta-moteur qui, en fait, s’interpose entre l’internaute, dont il
protège la vie privée, et les moteurs de recherche qu’il interroge sans indiquer pour
le compte de qui.
5. Dans les conditions d’usage des moteurs de recherche, on s’intéressera particu-
lièrement aux données collectées et à l’usage qui peut en être fait.

Activité 9. L’indexation d’un texte


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

L’objectif de cette activité est de découvrir le principe et les difficultés de l’indexa-


tion automatique. Le corpus de texte proposé est le manuel élève supposé acces-
sible aux élèves : l’activité peut cependant être effectuée sur n’importe quel ouvrage.
Pour que l’activité montre bien la difficulté de l’exercice, il faut cependant travailler
sur un document de taille significative.
1. Choisir les mots importants est subjectif et dépend du contexte. Pour un ouvrage
de spécialité, ce sera plutôt le vocabulaire de cette spécialité. Les « petits mots »
(un, à, des, en...) sont bien sûr à écarter. Cette première partie pose question sur la
manière dont ce travail peut être fait automatiquement, ce qui justifie l’adoption de
critères tels que ceux proposés.
2. La recherche exhaustive de toutes les occurrences d’un mot dans un texte long est
très fastidieuse et est l’exemple de tâche qui gagne à être automatisée. Cette tâche
peut être partagée si on se met d’accord au préalable sur la manière de partager
le travail. Soit chacun cherche tous les mots sur sa partie de l’ouvrage, soit chacun
cherche seulement une partie des mots sur l’ouvrage entier.
3. On peut choisir de donner un score plus important au mot défini par une défini-
tion, puis à un mot d’un titre, puis à un mot figurant dans une autre définition... selon
l’ordre dans lequel on souhaite voir apparaître les résultats de recherche qui seront
faites sur ce mot.
4. Il faut ici mémoriser pour chaque mot la liste des pages où il apparaît et pour
chaque page son score, ce qui permet alors de les classer par ordre décroissant.
36

04733675_001-096.indd 36 28/08/2019 12:19


Chapitre 3 Le world wide web

5. En conclusion, on peut déduire de l’expérimentation conduite que la qualité et la


pertinence de la recherche dépend directement de la précision de l’indexation effec-
tuée. On peut aussi en déduire que la pertinence n’est jugée que sur la base de critères
pouvant être calculés automatiquement et non pas sur une compréhension humaine
du texte à indexer.

Activité 10. Algorithme du PageRank


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.
j Fichier élève à imprimer disponible sur site compagnon et Bibliomanuel :
Chap3_Act10.pdf

Le document PDF mis à disposition peut être reproduit et distribué aux élèves pour
servir de support à cette activité débranchée.
L’activité peut être faite individuellement ou par binômes.
Partie 1. Le jeu du PageRank
1. Utiliser un jeton ou une pièce de monnaie pour mémoriser la page actuelle.
2. Les pages A et F n’ont qu’un successeur donc pas de tirage. Les pages B, C et D
ont deux successeurs possibles donc un tirage. Seule la page E a quatre successeurs
possibles, ce qui nécessite deux lancers de pièce pour choisir la page suivante.
3. On peut partager le travail entre un élève qui tire au sort la page suivante et déplace
le jeton et l’autre qui note le nombre de passages par chaque page.
4. La mise en commun de 20 × 50 tirages permet d’obtenir des pourcentages proches
des valeurs théoriques indiquées.
Partie 2. Analyse des résultats
1. Les pourcentages correspondent aux probabilités d’atteindre une page lors d’une
marche aléatoire en suivant les hyperliens entre pages. C’est la page E qui a le pour-
centage le plus fort (40 %). C’est aussi la page qui a le plus d’hyperliens entrant.
2. On peut vérifier que les popularités calculées respectent les équations suivantes :
la popularité d’une page est la somme des popularités que lui donnent ses liens
entrants, à savoir la popularité des pages sources des liens divisés par le nombre
de liens sortants.
Ainsi la popularité de F (15 %) est la somme de la popularité de E (40 %) divisée par
le nombre de liens sortants de E (4 %), et de la popularité de C (10%) divisée par le
nombre de liens sortants de C (2 %).
3. La popularité de E est égale à la somme de celle de A (15 %), de celle de F (15 %),
de celle de B (10 %) divisée par 2, et de celle de D (10 %) divisée par 2, ce qui donne
bien au total 40 %.

Analyse et débats
Les activités sur les enjeux de web peuvent être menées indépendamment des
activités précédentes ou être menées en parallèle des activités 5 à 7 de ce chapitre
si on choisit de demander aux élèves de réaliser des supports d’exposés sous la
forme de pages web.
37

04733675_001-096.indd 37 28/08/2019 12:19


Enjeu 1. Le web et l’information
jL’élément clé de cet enjeu sur l’information est la fin du contrôle a priori sur les
contenus publiés, ce qui a occasionné à la fois l’ouverture à tous les citoyens d’un
espace d’expression et de participation à l’information et, d’autre part, la proliféra-
tion des informations fausses qui a entrainé à son tour la nécessité de vérification des
faits. Les éléments d’actualité ne manquent pas pour illustrer cet enjeu. Les maté-
riels disponibles dans le cadre de l’éducation aux médias peuvent être utilisés ici.

Enjeu 2. Le web et la coopération


jL’enjeu de la coopération et des licences libres qui ont accompagné le dévelop-
pement du web est à l’articulation entre numérique et informatique. Le processus
est né du développement du logiciel libre et s’est ensuite étendu vers le « document
libre ». La clause dite « virale » des licences de logiciels libres, appelée aussi copy-
left, oblige tous les contributeurs ultérieurs à partager leur travail à nouveau avec
la même licence. Dans les licence creative commons, c’est la clause « Partage dans
les mêmes conditions ». Les pistes de réflexion et propositions de sujets permettent
d’explorer cet enjeu et d’en débattre en classe.

Enjeu 3. Le web et le droit d’auteur


jL’enjeu du droit d’auteur à l’heure du web ne doit pas être posé comme un enjeu
moral, à tenter de définir ce qu’il faudrait faire ou non. C’est d’abord un enjeu de
compréhension du droit applicable. L’un des enjeux est de comprendre qu’enregistrer
correspond à effectuer une reproduction, que publier sur le web est une représenta-
tion, et que les droits associés constituent les droits patrimoniaux attribués initiale-
ment à l’auteur, droits qu’il peut ensuite concéder par contrat (ou licence).
jParmi les difficultés habituelles, il faut noter la référence au « copyright » qui n’a
aucune valeur juridique en dehors des pays anglo-saxons, ainsi que la confusion
courante entre contrefaçon et plagiat. La contrefaçon est une infraction au droit d’au-
teur, alors que le plagiat est une faute déontologique consistant à ne pas citer les
sources. On évite le plagiat en utilisant les guillemets et en citant l’auteur, ce qui ne
suffit pas toujours pour éviter de commettre une contrefaçon : il faut demander l’ac-
cord de l’auteur, sauf dispenses spécifiques liées au droit de citation.
A contrario, paraphraser un texte permet d’éviter la contrefaçon, mais pas le plagiat.

Enjeu 4. La confidentialité du web


jLes technologies permettant de rendre le web plus interactif évoluent rapidement,
ce qui modifie en conséquence les paramétrages à effectuer sur les navigateurs pour
maîtriser les données personnelles risquant d’être divulguées lors d’une navigation sur
le web. Les acteurs majeurs du web ont un modèle économique fondé sur l’exploitation
des données de leurs utilisateurs et tentent de faire accepter cette collecte en échange
d’une « meilleure expérience utilisateur » et de la promesse de « contenus plus adaptés ».
jLa technologie des cookies, consistant à faire déposer sur l’ordinateur de l’utilisateur un
code résumant sa navigation, a été initialement développée pour contourner les règles
sur la collecte de données personnelles, mais est maintenant strictement réglementée.
jLes traqueurs constituent une technologie, le plus souvent illégale, consistant
à collecter à l’insu de l’utilisateur des traces de sa navigation pour les envoyer à
un serveur dédié. Les navigateurs proposent des paramétrages pour bloquer les
traqueurs connus.
38

04733675_001-096.indd 38 28/08/2019 12:19


Chapitre 3 Le world wide web

Pour aller plus loin

Activité 11. Programmation du PageRank


j Activité branchée sur poste informatique.
j Durée estimée : 45 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap3_PageRank.py ; Chap3_PageRank_Solution_Question3.py ;
Chap3_PageRank_Solution_Question4.py

Cette activité est proposée pour différentiation en continuité de l’activité 10. Les calculs
effectués à la main de la précédente activité y sont maintenant simulés sur ordina-
teur. Le programme de simulation écrit en Python est fourni, ce qui évite toute diffi-
culté de programmation, sachant que les objets manipulés (tableaux) dépassent le
cadre de la classe de seconde. On ne les utilise ici que pour consultation, les deux
tableaux utilisés étant fournis. La seule notation à connaitre est la notation indicée
pour accéder à un élément du tableau, par exemple : nom[page], pour accéder dans
le tableau nom à la page d’indice page.
1. Le programme comporte un choix aléatoire (fonction choice) parmi les éléments
du tableau des hyperliens. Le résultat peut donc être différent à chaque exécution.
2. Chaque exécution affiche une trajectoire possible de navigation entre les pages
par une suite de 10 messages de la forme : Page actuelle : E.
3. Le programme de la question 3 nécessite la mise en place d’un compteur nommé
ici nbE.
from random import choice
nom = ["A", "B", "C", "D", "E", "F"]
hyperliens = [[4],[0,4],[0,5],[0,4],[1,2,3,5],[4]]
nbEtapes = 10 # on répète 10 fois
nbVisites = [0,0,0,0,0,0]
page = 0 # le depart est la page A (indice 0)
nbE = 0
for i in range(nbEtapes):
page = choice(hyperliens[page])
if page == 4:
nbE = nbE + 1
print("Page actuelle :" + nom[page])
print("Nombre de passages par la page E", nbE)
4. La question 4 demande d’utiliser le tableau nbVisites pour mémoriser les comp-
tages et ensuite permettre d’analyser des trajectoires plus longues.
from random import choice
nom = ["A", "B", "C", "D", "E", "F"]
hyperliens = [[4],[0,4],[0,5],[0,4],[1,2,3,5],[4]]
nbEtapes = 1000
nbVisites = [0,0,0,0,0,0]
page = 0 # le depart est la page A (indice 0)
for i in range(nbEtapes):
page = choice(hyperliens[page])
nbVisites[page] = nbVisites[page] + 1
print("Page actuelle :" + nom[page])
for i in range(len(nom)):
print("Page", nom[i], ":", nbVisites[i]/nbEtapes*100, "%")
39

04733675_001-096.indd 39 28/08/2019 12:19


Avec 1 000, puis 10 000 ou 100 000 étapes, on peut constater que les mesures s’ap-
prochent des valeurs théoriques.
5. La question 5 propose de remplacer un lien de A vers E par un lien de A vers C.
Cela se traduit simplement par la modification suivante du tableau des hyperliens :
hyperliens = [[2],[0,4],[0,5],[0,4],[1,2,3,5],[4]]
Avec les liens d’origine, les pages avaient les probabilités :
A : 15 % ; B : 10 % ; C : 10 % ; D : 10 % ; E : 40 % ; F : 15 %.
Avec cette modification les probabilités deviennent :
A : 18,75 % ; B : 6,25 % ; C : 25 % ; D : 6,25 % ; E : 25 % ; F : 18,75 %.
La probabilité de C augmente de manière importante, car un nouveau lien pointe sur
C. Cela contribue aussi à l’augmentation de la popularité de A car un autre hyperlien
va de C à A. Les deux pages A et C ont ainsi tendance à se renforcer mutuellement.
C’est une technique connue sous le nom d’échange de liens qui a été utilisée pour
faire augmenter la popularité de sites sur le web.

40

04733675_001-096.indd 40 28/08/2019 12:19


CHAPITRE 4
Les réseaux sociaux
Introduction
Le défi d’un enseignement scientifique et culturel sur le thème des réseaux sociaux
est de partir des pratiques sociales des lycéens pour construire une compréhension
plus profonde de l’aspect scientifique des réseaux, et de pouvoir s’appuyer sur cette
connaissance pour en étudier les grands enjeux en raisonnant sur des bases solides.
Le changement à opérer est de passer du point de vue de l’utilisateur à celui d’ac-
teur des réseaux sociaux. On peut ainsi comprendre que la matière première utilisée
– les données – est constituée de la connaissance des relations entre les personnes
et des informations qu’elles fournissent, ou comment le « j’aime » (like) devient une
information dans un graphe, donnée de base d’un algorithme de recommandation.

Activités de découverte
Beaucoup d’activités de ce chapitre sont débranchées.
Pour manipuler les structures de graphe, il est beaucoup plus simple, dans un premier
temps, de les dessiner avant de les programmer.

Activité 1. Un site à explorer : Do not track


j Activité branchée nécessitant une connexion à internet : exploration d’un site
emblématique du thème étudié.
j Adresse du site : https://episode3.donottrack-doc.com/fr/

L’activité d’exploration autonome consiste à visualiser une vidéo (le troisième épisode
de la web-série Do not track) qui sensibilise à ce qui peut être collecté et déduit du
comportement d’un utilisateur sur un réseau social. C’est un premier pas de sensi-
bilisation sur ce qui peut être calculé. L’exploitation en classe peut consister seule-
ment à faire le bilan des informations fournies et introduire les enjeux du chapitre.

Activité 2. Six degrés de séparation


j Activité débranchée.
j Durée estimée : 30 minutes.

L’expérience du « petit monde », celle de Milgram ou celle de Karinthy, permettent


de porter un premier regard sur la structure d’un réseau social et de comprendre
l’idée que si chacun est connecté à quelques personnes ou dizaines de personnes
alors, pour l’ensemble de l’humanité, deux personnes quelconques ne sont situées
qu’à quelques liens l’une de l’autre.
1. L’idée de cette activité est de permettre aux élèves de se convaincre de ce phéno-
mène en en faisant eux-mêmes l’expérience. Le choix de la célébrité a peu d’impor-
tance mais il faut qu’elle soit connue de l’élève à qui elle est proposée.

41

04733675_001-096.indd 41 28/08/2019 12:19


2. La recherche d’une chaîne amène à faire des suppositions qui ne seront pas néces-
sairement faciles à vérifier : ce n’est pas déterminant pour la réussite de l’activité.
Le seul risque est de raccourcir un peu les chaînes proposées.
3. On peut s’attendre à des chaînes de longueur 4 à 7, c’est-à-dire avec 3, 4, 5 ou 6
intermédiaires.
4. Si un élève a trouvé seulement une chaine de longueur 7 entre lui et une célébrité,
il suffit qu’un autre élève trouve une chaîne de longueur 5 avec cette même célébrité
pour fournir au premier élève une chaine de longueur 6, puisqu’on suppose que les
deux élèves se connaissent.

Activité 3. Comparaison de réseaux sociaux


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

Le principe de cette activité est de faire émerger les principales caractéristiques des
réseaux sociaux à partir de la comparaison de quelques-uns.
Pour que cette activité fonctionne bien, il est utile de s’appuyer sur la connaissance
des élèves des réseaux qu’ils utilisent régulièrement. On peut aussi s’intéresser aux
réseaux moins connus pour rechercher leurs caractéristiques particulières.
L’activité peut être proposée individuellement, en binôme ou en groupes. Si besoin,
on peut coordonner le travail pour éviter que tous les élèves ne réfléchissent aux
mêmes réseaux.
1. Selon le temps disponible, on peut confier à chaque élève l’étude d’un ou deux
réseaux.
2. Les questions permettent de faire émerger la plupart des caractéristiques.
La notion de relation n’est pas évidente à construire : on peut alors interroger ce qui
lie les utilisateurs et donner des exemples (aimer un contenu, suivre une personne...).
3. La mise en commun des résultats trouvés dépend de la taille des groupes et du
moyen matériel choisi pour partager les analyses.

Activité 4. Nombre d’amis en commun


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

L’objectif de cette première activité sur les graphes est de commencer à manipuler
des représentations symboliques avec des personnes et des liens entre elles, et de
découvrir que cela peut faire l’objet de traitements automatiques.
La notion d’amis en commun est à la base d’algorithmes de recommandation.
L’idée de cette activité est de montrer que cela peut être calculé automatiquement
de manière plus ou moins efficace.
1. Le premier algorithme examine successivement les cases du tableau à remplir
et, pour chacune, parcourt l’ensemble des huit autres personnes pour tester si elles
sont des amies en commun aux deux personnes de la case étudiée.
2. Le deuxième algorithme ne s’intéresse qu’aux amis de la personne étudiée et
propose de compter tous ses amis communs en le notant dans la case indiquée.
3. Ce sont David et Inès qui ont le plus d’amis en commun. Ils en ont trois : Chloé,
Emma et Jean.
42

04733675_001-096.indd 42 28/08/2019 12:19


Chapitre 4 Les réseaux sociaux

4. La comparaison des deux méthodes en notant uniquement le temps passé doit


montrer que la seconde méthode est nettement plus rapide. Si on souhaite argu-
menter plus précisément, on peut compter le nombre d’opérations effectuées :
– avec la première méthode, si on se limite aux 45 cases d’une des moitiés du tableau,
il faut pour chacune examiner huit personnes, soit au total 45 × 8 = 360 opérations ;
– avec le deuxième algorithme, il faut étudier chacune des dix personnes et noter pour
chacune tous ses couples d’amis en commun. Chaque personne ayant en moyenne
3 amis, il faut noter 1 dans les 3 cases possibles, soit en tout 10 × 3 = 30 opérations.

Cours
Le cours permet d’abord de préciser la notion de relation entre personnes (ou entités
sociales) et insiste sur le fait que les réseaux sociaux sont étudiés depuis long-
temps, c’est-à-dire bien avant l’arrivée des réseaux sociaux au sens d’applications
informatiques.
La partie sur les réseaux en tant qu’outil de communication est volontairement peu
formalisée et a pour seul objectif de donner des éléments de classification et de
réflexion déjà abordés en activité de découverte.
La modélisation des réseaux sociaux par des graphes est la partie la plus développée.
C’est un point de vue nouveau pour les élèves. C’est cette modélisation qui permet
de comprendre ce qu’un opérateur de réseau social peut calculer comme informa-
tions à partir des utilisateurs et de leurs liens.
La notion de diamètre d’un graphe est définie. Les notions de centre et de rayon, plus
abstraites, sont montrées sur un exemple en activité d’application.
La partie sur la représentation informatique des graphes est présente seulement pour
montrer que c’est possible de faire calculer des graphes à un ordinateur. Ces éléments
ne seront utilisés que dans l’activité complémentaire « Pour aller plus loin » page 89.

Activités d’application
Les activités d’application utilisent la représentation graphique des graphes. Elles
peuvent toutes être effectuées sans ordinateur. Les algorithmes sont en effet beau-
coup plus faciles à comprendre en les déroulant à la main et en suivant la représen-
tation graphique qu’en utilisant la représentation informatique des graphes.

Activité 5. Groupes de travail


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Cette activité se présente comme un défi : répartir chaque groupe en plusieurs sous-
groupes dont les membres ne sont pas liés entre eux.

Il y a pour chaque problème plusieurs solutions possibles de répartition. Une solu-


tion est donnée page suivante.

43

04733675_001-096.indd 43 28/08/2019 12:19


Pour chaque problème, il y a un nombre minimal de sous-groupes que l’on peut
atteindre. La solution ci-dessous est une des solutions minimales.

Le premier groupe ne peut pas être décomposé en moins de 4 groupes (noir, blanc,
gris clair, gris foncé).
Le 2e et le 4e peuvent être décomposés chacun en deux sous-groupes (blanc et noir).
Les 3e et 5e groupes peuvent être répartis au mieux en trois sous-groupes (noir,
blanc, gris foncé).

Activité 6. Le personnage central


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est de montrer que la représentation graphique peut parfois
être trompeuse. Ce qui compte dans un graphe, ce sont uniquement les liens (arêtes)
entre personnes (sommets).
Les deux graphes proposés jDocs. 1 et 2 sont identiques mais sont dessinés en
plaçant les personnes différemment.
1. et 2. a. Avant définition du concept de centre d’un graphe, il est attendu des élèves
qu’ils considèrent Alice comme centre du premier réseau et Fred comme centre du
second.
b. Après comparaison et avoir constaté que les deux graphes contiennent les mêmes
relations entre personnes, on constate qu’on ne peut définir deux centres différents
d’un même graphe.
3. La personne la plus éloignée d’Alice est Fred (distance 3).
La personne la plus éloignée de Bob est Emma (distance 3).
La personne la plus éloignée de Chloé est David (distance 3).
Ces six personnes ont donc toutes au moins une personne à distance 3.
Seule Zoé a toutes les personnes à une distance de 2 au plus.
Zoé est donc le centre de ce réseau dont le rayon est 2.

Alice Emma

David Zoé Chloé

Bob Fred

Le calcul du centre d’un graphe est utilisé pour déterminer dans un groupe social le
ou les personnages centraux.
44

04733675_001-096.indd 44 28/08/2019 12:19


Chapitre 4 Les réseaux sociaux

Activité 7. Le nombre de Bacon


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.
j Fichier tableur élèves et corrigés disponible sur site compagnon et Bibliomanuel :
Poste informatique. Chap4_act7_Bacon.xls

Cette activité est une autre illustration du phénomène du petit monde.


1. Le graphe demandé dans cette première question note les liens entre acteurs qui
ont joué dans le même film.

Johnny Depp

Anne Hataway Zoé Kravitz

Hugh Jackman Kevin Bacon

3. Le calcul du nombre de Bacon avec ces premières données fournit le résultat


suivant qui exprime pour chaque acteur sa distance à Kevin Bacon.

Johnny Depp 2

2 Anne Hataway Zoé Kravitz 1

1 Hugh Jackman Kevin Bacon 0


L’algorithme donné permet de calculer les nombres sans avoir besoin de dessiner
le graphe complet.
4. Pour que l’activité ait un résultat significatif, il faut que le nombre de films soit
important, et donc que les élèves collaborent pour la saisie du tableau.
L’activité permet de confirmer le phénomène du petit monde.

Activité 8. Les petits mondes temporels


j Activité débranchée.
j Durée estimée : 15 minutes.

L’expérience des petits mondes dans sa version temporelle oblige à exhiber des
chaines beaucoup plus longues, car ne peuvent être liés que des contemporains.
1. La réponse est un peu théorique car les hypothèses de calcul sont simplificatrices.
Cela permet cependant de poser des bornes sur la longueur minimale d’une chaine
entre deux personnalités ayant presque 2 000 ans d’écart.
Même en supposant un lien d’amitié construit très jeune avec le précédent et un autre
à la fin de sa vie avec le suivant, il faut au minimum 20 personnes entre Cléopâtre et
Elizabeth II, donc au moins 21 liens d’amitié.

45

04733675_001-096.indd 45 28/08/2019 12:19


2. Pour résoudre à la main la question, il suffit à chaque étape de choisir le contem-
porain dont la date de décès est la plus tardive et de recommencer jusqu’au dernier.
On obtient ainsi la chaîne : A , M , R , S , B , Y , O , Q , D , Z
soit 9 relations d’amitié consécutives.

Activité 9. Anonymat sur les réseaux sociaux


j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

Cette activité permet de montrer qu’une analyse de la structure de graphes permet


de déjouer l’anonymat sur les réseaux sociaux. On suppose que deux ensembles de
personnes, qui sont en fait les mêmes, utilisent des pseudonymes différents sur deux
réseaux sociaux différents, mais ont les mêmes relations d’amitié.
1. Il suffit de mettre en correspondance les deux graphes pour que les relations
d’amitié soient identiques.
j Doc. 1 : les sommets B et 5 sont les seuls ayant quatre amis, donc sont nécessaire-
ment en correspondance. De proche en proche, on en déduit la correspondance suivante :
A – 6 , B – 5, E – 4, D – 1, F – 2, C – 3.
j Doc. 2 : on peut mettre en correspondance les sommets consécutifs ayant seule-
ment deux amis, 3 et 4 puis 8 d’une part, E et A puis C d’autre part.
On en déduit les correspondances E – 3 , A – 4 , C – 8 puis par déduction les
correspondances B – 7 , D – 1 , F – 2 , G – 6 et H – 5 .
j Doc. 3 : le comptage du nombre d’amis n’apporte aucune information car tous ont
trois amis. Le repérage des triangles ABC, JKL et GHI permet de les faire corres-
pondre aux triangles 6/5/10, 1/8/7 et 9/3/2. Seuls les sommes 11 et D sont intercalés
entre deux triangles. Ils sont donc en correspondance. On peut ensuite en déduire
l’ensemble des correspondances : A – 6 , B – 5 , C – 10 , D – 11 , E – 12 ,
F – 4 , G – 3 , H – 9 ,   I – 2 , J – 1 , K – 8 et L – 7 .
2. Pour ces trois paires de graphes, on a pu mettre en correspondance les sommets
simplement en analysant les relations d’amitié. On peut en déduire que si l’anonymat
n’est pas garanti sur un des deux réseaux, alors on peut aussi lever l’anonymat sur
l’autre, en identifiant de manière sûre chacun des pseudos utilisés.

Activité 10. La star du réseau


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Cette activité permet d’analyser un graphe orienté. Ce type de graphe est obtenu en
modélisant une relation dissymétrique du type « suivre ». La star est définie comme
la personne que tout le monde suit, mais qui ne suit personne.
1. C’est Zoé la star du réseau.
2. Il suffit de retirer une seule flèche pour qu’il n’y ait plus de star. En effet, si on retire
une des flèches pointant vers la star, elle ne l’est plus par définition.
3. Pour tenter d’avoir une seconde star, il faudrait ajouter le nombre de flèches
manquantes à celle qui en a le plus après la star. On arrive cependant rapidement à
une contradiction.
46

04733675_001-096.indd 46 28/08/2019 12:19


Chapitre 4 Les réseaux sociaux

4. a. Une star ne peut pas en suivre une autre car, par définition, une star ne suit
personne.
b. Il ne peut donc y avoir qu’une star, car sinon la deuxième star ne serait pas suivie
par la première et ne serait donc pas une star.
5. L’algorithme examine successivement chaque personne en supposant d’abord que
c’est une star potentielle. Puis, dès que la preuve du contraire est apportée, la variable
indiquant que c’est une star est passée à la valeur false. Si le graphe comporte une
star, elle est donc bien affichée par cet algorithme.

Analyse et débats
Les enjeux des réseaux sociaux sont importants tant du point de vue juridique
qu’économique.

Enjeu 1. Harcèlement numérique et cyberviolence


jLa question du cyberharcèlement est toujours d’actualité. Le programme suggère de
donner accès au texte de loi pour sensibiliser les élèves et d’y adjoindre un message
de prévention. Les pistes de débat permettent d’approfondir la réflexion sur cette
question sensible.
jEn particulier, le trop répandu sentiment d’impunité peut être démenti par la preuve
que l’anonymat peut le plus souvent être levé sur les réseaux sociaux, soit parce que
la structure du réseau le permet (voir activité 9 p. 80), soit parce que la loi oblige les
opérateurs à révéler les traces de connexion enregistrées.

Enjeu 2. Les réseaux sociaux et la vie privée (RGPD)


jL’enjeu de vie privée est un des enjeux fondamentaux des réseaux sociaux. La mise
en application du règlement général sur la protection des données (RGPD) a renforcé
le droit des utilisateurs en instaurant en particulier l’obligation pour les opérateurs
de répondre aux demandes des internautes de consulter l’ensemble des données
personnelles publiées.
jLa lecture des conditions générales des sites est souvent édifiante. Les collectes de
données sont légales quand l’utilisateur en a au préalable approuvé les conditions
générales. Pour alimenter les débats, il est intéressant de se référer aux conditions
exactes d’usage des différents services.

Enjeu 3. Le modèle économique des réseaux sociaux


jLe modèle économique des réseaux sociaux basé sur la valorisation des données
personnelles mérité d’être étudié. Comme pour les autres enjeux fondamentaux, il
ne s’agit pas de tenir un discours moralisateur mais de donner accès à des docu-
ments authentiques permettant aux élèves de se forger une opinion argumentée.
jConcernant l’économie de l’attention, il est utile d’aider à décoder la position de
chaque acteur pour comprendre qui peut avoir intérêt à créer des comportements
addictifs chez les utilisateurs des applications de réseau social.
jUn thème émergent peut aussi être abordé en débat : l’intérêt, ou non, pour les
internautes de reprendre le contrôle de leurs données personnelles en les commer-
cialisant eux-mêmes moyennant une rétribution ou des services.
47

04733675_001-096.indd 47 28/08/2019 12:19


Enjeu 4. Réseaux sociaux et communautés
jLes algorithmes de recommandation basé sur les algorithmes de calcul de graphe
vues précédemment – nombre d’amis en commun ou calcul de distances... – peuvent
aboutir à renforcer les liens existants en ne proposant que des ressources ou des
amis comparables aux ressources déjà appréciées. Cet effet de renforcement peut
avoir une influence non négligeable, y compris sur des processus démocratiques
lorsque les recommandations sont utilisées à des fins électorales.
jL’analyse détaillée d’affaires récentes à partir de sites d’information de référence
peut aider à cerner les enjeux. Une des difficultés de ces analyses est de se prémunir
des sites exposant des « théories du complot » en croisant et en vérifiant les sources
d’information utilisées.

Pour aller plus loin


La relative complexité des algorithmes utilisables sur les graphes conduit à reporter,
dans cette rubrique destinée à la différentiation, une activité de programmation sur
ce thème.

Activité 11. Les graphes, c’est de l’informatique


j Activité branchée sur poste informatique.
j Durée estimée : 45 à 60 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap4_act11_AmisAmis.py ;
Chap4_act11_Solution_Question2.py ; Chap4_act11_Solution_Question3.py

Le calcul des amis d’amis est une fonctionnalité courante des réseaux sociaux permet-
tant de formuler des recommandations de nouveaux amis. Ce calcul n’est pas si
simple, comme cette activité tend à le montrer.
La représentation informatique des graphes par leur tableau d’adjacence est utilisée
(voir cours) et est donnée dans l’exemple proposé.
1. C’est dans le tableau follow que l’on peut trouver les personnes que suit Chloé.
Chloé étant la troisième personne, c’est la troisième ligne qui contient les personnes
suivies : [1, 0, 0, 1, 0, 1, 1].
En clair, en se référant à l’ordre des personnes, les « 1 » correspondent aux personnes
suivies à savoir : Alice, David, Fred et Zoé, ce que l’on peut vérifier sur la représen-
tation graphique j Doc. 3.
2. Pour calculer pour chaque personne le nombre de ses amis, le nombre de personnes
suivies et le nombre de suiveurs, il suffit de définir trois variables pour compter ces
valeurs en parcourant les tableaux friend et follow (voir page suivante).

48

04733675_001-096.indd 48 28/08/2019 12:19


Chapitre 4 Les réseaux sociaux

for i in range(7):
nbAmis = 0
nbSuivis = 0
nbSuiveurs = 0
for j in range(7):
if friend[i][j]:
nbAmis = nbAmis + 1
if follow[i][j]:
nbSuivis = nbSuivis + 1
if follow[j][i]:
nbSuiveurs = nbSuiveurs + 1
print("La personne", i, "a", nbAmis, "amis, suit", nbSuivis,
"personnes et est suivie par", nbSuiveurs, "personnes.")

3. Le programme proposé énumère pour chaque personne tous ses amis, et pour
chacun de ces amis chacun de leurs amis. En calculant ainsi, on risque de compter
plusieurs fois les amis d’amis.
Par exemple, en calculant le nombre d’amis de Bob, on comptera deux fois Chloé,
une fois en tant qu’amie de Emma, une fois en tant qu’amie de Fred.
Une méthode correcte pour éviter les doublons consiste à parcourir tous les amis
d’amis potentiels en ne les comptant qu’une fois dès qu’un ami intermédiaire est
trouvé. Pour cela, on utilise une variable booléenne pour se rappeler qu’un ami d’ami
a été trouvé par au moins un chemin, et alors on ne le compte qu’une fois.
for i in range(7):
nbAmisAmis = 0
for k in range(7):
estAmisAmis = False
for j in range(7):
if friend[i][j] and friend[j][k]:
estAmisAmis = True
if estAmisAmis:
nbAmisAmis = nbAmisAmis + 1
print("La personne", i, "a", nbAmisAmis, "amis d’amis")

Remarque : cet algorithme est difficile ; cette dernière question est donc à réserver
aux élèves les plus intéressés.

49

04733675_001-096.indd 49 28/08/2019 12:19


04733675_001-096.indd 50 28/08/2019 12:19
CHAPITRE 5
Données et traitements
Introduction
La thématique des données est celle qui fait le plus appel à la programmation.
En effet, algorithmique et programmation sont au cœur des enjeux de la science des
données et du « big data ». Ce chapitre propose des activités donnant une large place
aux données ouvertes et aménage une transition en douceur de l’analyse de données
avec un tableur à la programmation de cette analyse.
L’enjeu est de donner aux lycéens les moyens d’analyser les données disponibles dans
les domaines culturels, économiques ou sociaux qui les intéressent. Les enjeux envi-
ronnementaux des « data centers » et la question des données personnelles occupent
une place importante dans les pistes de réflexion et de débats proposés.

Activités de découverte
Hormis la première activité autonome, toutes les activités de découverte proposées
sont en mode débranché. Le traitement de données nécessite en effet de réfléchir
aux algorithmes avant de se lancer dans la programmation. Cette réflexion peut être
menée à partir d’exemples de traitement de données tirés de la vie quotidienne ou
de travaux scolaires menés dans d’autres disciplines.

Activité 1. Un site à explorer : data.gouv.fr


j Activité branchée nécessitant une connexion à internet : exploration d’un site
emblématique du thème étudié.
j Adresse du site : https://www.data.gouv.fr

L’activité de découverte autonome a pour objectif de montrer aux élèves l’étendue


des données ouvertes disponibles dans tous les domaines d’activité. Il s’agit donc
d’éveiller leur curiosité et de montrer que des informations sont disponibles et ne
demandent qu’à être analysées.
L’objectif secondaire est aussi de faire prendre conscience que l’accès aux données
n’est pas toujours simple car il faut comprendre le format des données obtenues.
Pour simplifier l’activité, on ne s’intéresse qu’aux fichiers de type csv, qui posent déjà
la question du choix du séparateur utilisé.
L’activité est proposée à partir du site national data.gouv.fr mais peut être trans-
posée sans difficulté à un autre site de données ouvertes si une collectivité locale
(région, ville…) en propose.

Activité 2. Recherches dans un annuaire papier


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Même si les annuaires papier tendent à disparaître, l’activité proposée renvoie à un


quotidien vécu par les élèves. Il n’est pas nécessaire de disposer d’un annuaire par
51

04733675_001-096.indd 51 28/08/2019 12:19


élève pour réaliser cette activité (attention au poids des cartables !). L’objectif est de
faire réfléchir à la méthode employée pour effectuer différentes recherches dans un
annuaire. Il suffit donc de disposer d’un annuaire en consultation pour savoir dans
quel ordre sont rangées les informations.
1. Rechercher un boulanger dans une commune donnée nécessite d’abord de recher-
cher la profession puis, à l’intérieur des pages consacrées à cette profession, de
rechercher la commune, puis à l’intérieur de cette commune, de rechercher le nom
du professionnel. Pour mener à bien cette recherche rapidement, il suffit de savoir
dans quel ordre sont rangées les informations dans un annuaire Pages jaunes.
2. Rechercher la liste de tous les professionnels d’une petite commune d’un départe-
ment est une tâche très fastidieuse, car il faut regarder successivement dans toutes
les professions si cette commune est représentée.
3. Ce défi peut être mis en place par binôme : un élève note un numéro figurant
dans l’annuaire et propose à son binôme de rechercher le nom du professionnel en
lui donnant seulement le numéro.
Il est inutile de mener l’activité jusqu’au bout pour se rendre compte du temps néces-
saire pour parcourir ligne à ligne l’annuaire à la recherche du numéro !
4. Réaliser un annuaire papier inversé, outre que cette fabrication gaspillerait beau-
coup d’arbres, n’a plus beaucoup de sens à l’époque des annuaires inversés en ligne.
L’objectif de cette question est simplement de faire réfléchir à l’ordre de classement
qu’il faudrait utiliser pour que la recherche par numéro soit possible.
La réponse est évidemment de trier les numéros par ordre croissant pour permettre
un accès rapide comme dans un dictionnaire.
5. Le classement adopté par les annuaires de professionnels est généralement par
profession, puis par commune, puis par nom. Cela facilite le type de recherche de la
question 1. Pour favoriser une recherche du type de celle de la question 2, il faudrait
que l’annuaire soit d’abord trié par communes puis, à l’intérieur de chaque commune,
par profession et, finalement, à l’intérieur de chaque profession par nom.
Cette activité permet ainsi de sensibiliser les élèves à l’impact du rangement des
données sur leur facilité d’accès. La principale différence entre des données impri-
mées et des données sur ordinateur vient du fait que pour des données imprimées,
l’ordre de classement est fixé à l’impression. Avec des données sur ordinateur, le tri
peut être effectué à tout moment sur différents critères.
L’importance des tris en informatique reste fondamentale pour accélérer l’accès aux
données. Sachant que trier un fichier de plusieurs millions d’enregistrements peut
prendre un certain temps, il reste utile de réfléchir au préalable sur le classement
des données pour favoriser une recherche particulière.

Activité 3. Réaliser un histogramme


j Activité débranchée.
j Durée estimée : 30 minutes.

La réalisation d’un histogramme est une activité proposée dans plusieurs disciplines
scolaires, en mathématiques mais aussi en sciences de la vie ou en sciences écono-
miques et sociales. Dans tous les cas, il s’agit d’un traitement de données où l’objectif
est de remplacer une grande collection de données par un comptage de ces données
réparties en plusieurs classes, en vue d’en faire une représentation graphique. On
s’intéresse dans cette activité uniquement au remplissage du tableau de comptage.
52

04733675_001-096.indd 52 28/08/2019 12:19


Chapitre 5 Données et traitements

1. Selon la rapidité des élèves, parcourir l’ensemble des 123 données du tableau en
recherchant combien sont comprises entre 18 et 21 peut prendre entre 45 secondes
et une minute. Il faut alors recommencer pour la tranche d’âge suivante, etc.
Pour compter les dix tranches d’âge, on peut donc estimer le temps de travail à
environ 10 minutes.
2. Avec le second algorithme, on parcourt une seule fois les données en notant à
chaque donnée un bâton dans la tranche correspondante. Ce traitement prend au
plus cinq minutes, auquel il faut ajouter au plus une minute pour compter les bâtons
de chaque tranche, ce travail étant facilité si on a pris soin de regrouper les bâtons
par paquets de 5.
3. La comparaison devrait mettre en évidence la plus grande rapidité du 2nd algorithme.
Cela s’explique simplement par le nombre de fois où l’on consulte une donnée pour
la comparer aux bornes des tranches d’âge. Dans le premier algorithme, on effectue
l’opération 123 fois puis on recommence ce traitement 10 fois. Dans le second, on ne
regarde chaque donnée qu’une seule fois. L’opération pour chacune est un peu plus
compliquée, car il faut trouver directement la bonne tranche d’âge et noter un bâton,
mais cette opération n’est répétée que 123 fois.
Cette activité permet de montrer qu’il peut y avoir plusieurs méthodes plus ou moins
rapides pour traiter des données. L’étude des algorithmes, ou « algorithmique » est
d’ailleurs un des sujets importants en informatique, que l’on peut mentionner pour
information, mais qu’il n’est pas question d’aborder en classe de seconde.

Activité 4. Le fichier bristol de la bibliothèque


j Activité débranchée.
j Durée estimée : 30 minutes.

Le travail du bibliothécaire repose sur l’utilisation de méthodes systématiques – des


algorithmes – pour bien retrouver les fiches des ouvrages, celles des lecteurs et bien
noter les emprunts en cours.
Il ne s’agit pas ici de formaliser ces méthodes, mais de les décrire assez précisément
pour les expliquer à un interlocuteur humain.
1. Quand un lecteur souhaite emprunter un ouvrage, il faut d’abord lui demander son
nom, puis le titre et l’auteur de l’ouvrage. Avec le nom de l’auteur, on peut rechercher
la fiche ouvrage puis, avec le nom du lecteur, on peut rechercher sa fiche.
Il ne reste plus qu’à insérer la fiche ouvrage à côté de la fiche lecteur. Toutes ces
opérations sont rapides car les fichiers sont bien triés.
2. Quand un lecteur rend un ouvrage, il faut lui demander son nom. On peut alors
rechercher sa fiche dans le fichier lecteur. On doit alors trouver la fiche ouvrage
stockée à côté de la fiche lecteur.
Il ne reste plus qu’à ranger la fiche ouvrage dans le fichier ouvrage, en insérant cette
fiche au bon endroit selon l’ordre alphabétique.
3. Si un lecteur demande un ouvrage par son titre alors que les fiches ouvrages sont
triées par ordre alphabétique d’auteur, deux cas se présentent.
Soit le bibliothécaire connaît le nom de l’auteur, cela ramène à la question 1.
Soit le bibliothécaire ne connaît pas l’ouvrage, alors la seule solution à sa disposi-
tion est de parcourir toutes les fiches ouvrage à la recherche de celle dont le titre
est le titre recherché.
4. Selon le nombre d’ouvrages de la bibliothèque, cela peut prendre un certain temps
de regarder toutes les fiches ouvrages à la recherche d’un titre particulier.
53

04733675_001-096.indd 53 28/08/2019 12:19


5. Pour compter le nombre total de livres en distinguant ceux qui sont empruntés,
on peut d’une part parcourir toutes les fiches ouvrages du fichier ouvrage en comp-
tant le nombre de fiches, et d’autre part compter combien de fiches ouvrages ont été
placées dans le fichier lecteurs pour marquer que les ouvrages correspondant ont
été empruntés.

Cours
Le cours permet de poser progressivement les notions importantes. La notion de table
en tant que collection de données est utilisée dans d’autres disciplines pour noter des
informations structurées de manière régulière avec des « critères ».
Pour la mise en œuvre informatique avec des fichiers, on privilégie le format csv qui
a l’avantage d’être d’usage courant, d’être le format le plus élémentaire pour repré-
senter des tables et d’être lisible à la fois avec un tableur et par programmation.
Concernant les traitements de données étudiés, on concentre l’étude sur les traite-
ments pouvant être effectués au fur et à mesure de la lecture du fichier, ce qui permet
d’obtenir toujours le même schéma d’algorithme.
Les traitements plus complexes permettant de trier ou de croiser des données sont
reportés dans la partie « Pour aller plus loin ».

Activités d’application
Les activités permettent de passer progressivement d’une méthode de traitement
de données générale avec un tableur à une méthode de traitement spécifique définie
par le programmeur.

Activité 5. La population en Europe


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichiers élève et corrigé disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap5_Population.csv ; Chap5_Population_Solution.ods

Cette activité consiste à effectuer de manière élémentaire, avec un tableur, des


calculs sur une table contenant à la fois des données de population et de superficie
pour les pays européens.
1. L’ouverture d’un fichier csv avec un logiciel tableur est géré différemment selon
les logiciels. La suggestion d’ouvrir d’abord le fichier avec un éditeur de texte – type
Notepad – est une consigne de prudence, pour identifier de manière sûre le sépara-
teur de champ utilisé (ici le point-virgule).
2. Avec le module Calc de LibreOffice, l’ouverture d’un csv provoque systématique-
ment l’ouverture d’une boite de dialogue permettant d’indiquer le séparateur.
3. L’ajout de la colonne nécessite d’introduire dans chaque case une formule
permettant de calculer la densité en hab/km2 en fonction de la population en nombre
d’habitants et de la superficie (donnée en milliers de km2).
La première densité peut être calculée en saisissant dans la cellule D2 la formule
suivante : =B2/(C2*1000) .
54

04733675_001-096.indd 54 28/08/2019 12:19


Chapitre 5 Données et traitements

Les formules suivantes peuvent être générées par recopie vers le bas, si la formule
initiale a bien été notée de manière relative.
4. La somme peut être calculée avec la fonction Somme en sélectionnant la
plage de données pertinente. Un corrigé de l’activité est disponible dans le fichier
Chap5_Population_Solution.ods proposé en téléchargement.

Activité 6. La résistance des pièces


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichiers tableur élève et corrigé disponible sur site compagnon et Bibliomanuel :
Poste informatique. Chap5_Mesures.csv ; Chap5_Mesures_Solution.ods

Cette activité consiste à étudier un tableau de mesures. Elle est volontairement très
proche de l’activité 5. L’objectif est bien de montrer la régularité que l’on peut trouver
dans des traitements de tables élémentaires, y compris dans des domaines d’ap-
plication différents.
1. L’ouverture préalable du fichier doit permettre d’identifier qu’il y a deux symboles de
ponctuation différents qui sont utilisés. La virgule est utilisée pour noter des nombres
décimaux alors que le point-virgule est bien utilisé comme séparateur de champs.
2. L’ouverture du fichier dans un tableur avec séparateur point-virgule permet de
séparer correctement les colonnes de données.
3. L’ajout de la colonne amène à saisir une formule. La valeur de la
résistance (en ohms) est égale au quotient de la tension (en volts) par l’intensité (en
ampères).
4. Lors de l’ajout du graphique, il convient de bien sélectionner toutes les données
en incluant les intitulés de lignes et de colonnes, puis de signaler à l’aide des boites
de dialogues spécifiques que la première ligne et la première colonne contiennent
des intitulés.
Un corrigé de l’activité est disponible dans le fichier Chap5_Mesures_Solution.ods.

Activité 7. Densités de la population en Europe


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichiers tableur et Python élèves et corrigés disponible sur site compagnon et
Bibliomanuel :
Poste informatique. Chap5_Population.csv ; Chap5_PopulationTotale.py ;
Chap5_Population_Solution.py

L’objectif de cette activité est de refaire le traitement de l’activité 5 en le transposant


en programmation Python.
1. Le programme fourni et le fichier csv doivent être dans le même dossier. Avec
l’éditeur Mu, le plus simple est de sauvegarder tous les programmes et les données
dans le dossier par défaut de l’éditeur. À l’exécution, le programme doit afficher :
Population totale : 508450856.
2. Le calcul et l’affichage de la superficie totale de l’Europe nécessite l’ajout dans la
boucle d’une instruction de calcul : supEurope = supEurope + float(sup)
puis à la fin du programme, l’ajout d’une instruction d’affichage :
print("Superficie totale :", supEurope, "milliers de km2").
55

04733675_001-096.indd 55 28/08/2019 12:19


3. Le calcul et l’affichage de la densité de population peut se faire au cours de la
boucle par l’ajout de l’instruction :
print(nom, ":", int(pop)/(float(sup)*1000), "habitants/km2").
Un corrigé de l’activité est disponible dans le fichier Chap5_Population_Solution.py.

Activité 8. Un placement rentable


j Activité branchée sur poste informatique.
j Durée estimée : 30 minutes.
j Fichiers corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap5_Credit_Solution.ods ; Chap5_Credit_Solution.py

Cette activité est une activité mixte à faire à la fois avec un tableur et en program-
mation Python.
L’objectif est de montrer le lien entre un calcul répétitif effectué avec un tableur en
déroulant les calculs répétitifs ligne après ligne, et le même calcul programmé en
Python avec une instruction répétitive.
Il faut noter dans cette activité la différence de retour pour l’élève sur ce qu’il fait
calculer à l’ordinateur.
Dans la version tableur, tous les calculs intermédiaires sont visibles dans les diffé-
rentes cellules. Dans la version programmée, ne sont visibles que les résultats dont
le programmeur a demandé l’affichage.
Les valeurs intermédiaires peuvent être visualisées grâce à l’outil de mise au point
en exécution pas à pas.
Partie 1. Simulation avec un tableur
1. Le tableau de comparaison entre les deux placements peut avoir la forme suivante :
des formules permettent de calculer en 2e colonne les intérêts cumulés =B2*1,005
et en 3e colonne les intérêts fixes =C2+1 .
2. Ce n’est qu’à partir de la 253e période que le placement de type ① devient toujours
plus avantageux. Une analyse trop rapide peut amener des élèves à conclure de
manière erronée que le placement ② serait plus avantageux, ce qui n’est vrai qu’au
début.
Un corrigé de cette partie est disponible dans le fichier Chap5_Credit_Solution.ods.
Partie 2. Exécution en Python
1. En suivant l’indication de calculer aussi longtemps que le placement ① est moins
avantageux, le programme Python suivant permet de calculer directement la solution.
2. L’exécution du programme s’arrête après 253 périodes quand le placement 1
devient supérieur au placement ② en affichant :
Apres 253 mois +1% donne : 353.19424979227233 et +1 donne : 353
Le programme est disponible dans le fichier Chap5_Credit_Solution.py.
m1 = 100
m2 = 100
n = 0
while m1 <= m2:
m1 *= 1.005
m2 += 1
n += 1
print("Apres", n, "mois +1% donne :", m1, "et +1 donne :", m2)
Cette activité montre que le même problème peut être résolu de manière assez diffé-
rente en utilisant des outils informatiques différents. La solution avec le tableur peut
56

04733675_001-096.indd 56 28/08/2019 12:19


Chapitre 5 Données et traitements

sembler plus explicite au départ. La solution programmée sera finalement beaucoup


plus efficace pour aboutir directement au résultat.
La tâche de l’élève est ici de s’abstraire petit à petit des résultats intermédiaires, en
construisant une représentation mentale de leur calcul, pour aboutir finalement à
une solution ne donnant que le résultat final en fonction des données du problème.

Activité 9. Visualisation de données avec Panda


j Activité branchée sur poste informatique.
j Durée estimée : 15 minutes.
j Fichiers corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap5_indicesSaintDenis.csv ; Chap5_PandaSaintDenis.py

Cette activité est une activité d’ouverture vers la science des données pour montrer
comment l’usage d’une bibliothèque adaptée peut simplifier l’écriture des traitements.
Le principal inconvénient de ce genre de bibliothèque est de masquer la complexité
des traitements effectués. D’un point de vue pédagogique, il est aussi plus forma-
teur de reprogrammer un traitement pour en comprendre les différentes étapes.
L’existence de cette activité est justifiée par les perspectives que donnent l’usage de
bibliothèques élaborées. C’est une approche complémentaire de l’approche princi-
pale choisie dans ce chapitre où les traitements sont le plus souvent expliqués de
manière élémentaire.
1. Pour que cette activité soit possible, il est nécessaire que la bibliothèque Panda
soit installée.
2. L’exécution produit un graphique montrant l’évolution annuelle du paramètre de
pollution choisi. Il n’est pas utile de rentrer dans le détail de la présentation des struc-
tures de données sous-jacentes à la bibliothèque. Il suffit d’admettre que la lecture
du csv charge tout le contenu du tableau dans la variable sd. La notation
permet d’accéder directement au contenu de la colonne dont pm10 est l’intitulé.
3. La modification du programme peut se faire simplement par imitation, en rempla-
çant le nom du champ étudié par un autre. Les activités suivantes permettent de
réaliser sur ces mêmes données des traitements plus spécifiques en les program-
mant de manière plus détaillée et élémentaire.

Activité 10. La qualité de l’air en Île-de-France


j Activité branchée sur poste informatique.
j Durée estimée : 30 minutes.
j Fichiers corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap5_indices_IDF_2017.csv ; Chap5_NO2_SaintDenis.py ;
Chap5_Indices_SaintDenis_Solution.py

Les activités 10 à 12 de ce chapitre portent sur le même jeu de données. Pour permettre
de les réaliser de manière indépendante, les données intermédiaires sont fournies.
Cette activité est guidée pour permettre à tous les élèves de dépasser facilement
les obstacles techniques liés à la manipulation de fichiers depuis un programme et
au traitement des chaines de caractères à décomposer pour retrouver les valeurs
de chaque champ.
1. Cette question d’observation permet de constater ce que fait l’exécution du
programme dans sa version initiale. Il est utile de faire remarquer que cette exécu-
tion est quasi instantanée alors que le fichier analysé comporte 476 486 lignes.
57

04733675_001-096.indd 57 28/08/2019 12:19


2. La tâche demandée de modification du programme a pour objectif de faire lire
attentivement le programme donné pour identifier la partie du calcul portant sur le
taux de dioxyde d’azote NO2, et en déduire les modifications à apporter pour calculer
les autres indices.
3. Les lycéens d’Île-de-France seront favorisés dans cette activité, car ils pourront
simplement en modifiant le code INSEE exécuter le programme d’analyse de la qualité
de l’air pour leur commune.
Le programme complet (pour la commune de Saint-Denis) est alors le suivant (en
gras les lignes ajoutées pour la question 2) :
f = open("Chap5_indices_IDF_2017.csv", "r")
entete = f.readline()
s_no2,s_o3,s_pm10 = 0, 0, 0
n = 0
ligne = f.readline()
while ligne != "":
date,ninsee,no2,o3,pm10 = ligne.split(",")
if ninsee == ‘93066’:
n += 1
s_no2 += int(no2)
s_o3 += int(o3)
s_pm10 += int(pm10)
ligne = f.readline()
print("Moyenne annuelle indice no2 :", s_no2 / n)
print("Moyenne annuelle indice o3 :", s_o3 / n)
print("Moyenne annuelle indice pm10 :", s_pm10 / n)
f.close()
Ce programme est une application directe de l’algorithme général de traitement de
fichier (voir manuel élève page 97).

Activité 11. La qualité de l’air dans une commune


j Activité branchée sur poste informatique.
j Durée estimée : 30 minutes.
j Fichiers corrigés disponibles sur site compagnon et Bibliomanuel :
Chap5_indices_IDF_2017.csv ; Chap5_NO2_SaintDenis.py ;
Chap5_FiltreSaintDenis_Solution.py

La difficulté de cette activité réside dans le fait de manipuler deux fichiers dans le
même programme : un fichier de données à lire et un extrait du premier fichier
fabriqué par ce programme.
Il convient d’être vigilant pour ne pas mélanger les deux traitements sachant que
les instructions se ressemblent. En particulier, l’instruction d’ouverture d’un fichier
en lecture ne diffère de l’ouverture en écriture que par le caractère « r » (pour read :
lecture) ou « w » (pour write : écriture).
1. Il est proposé de partir d’un programme existant, pour ne pas tout avoir à réécrire.
En effet, le filtrage dans un fichier des informations concernant une commune néces-
site exactement les mêmes traitements pour lire ligne à ligne le fichier d’origine.
2. Seul change la partie du traitement, où l’on remplace le calcul de la somme des
indices par la réécriture dans un nouveau fichier de la ligne lue quand elle concerne
la commune choisie.

58

04733675_001-096.indd 58 28/08/2019 12:19


Chapitre 5 Données et traitements

3. Pour écrire la ligne d’entête dans le nouveau fichier, il suffit d’identifier l’instruc-
tion qui a permis de lire cet entête dans le fichier d’origine.
4. À l’exécution, un nouveau fichier doit apparaître dans le dossier où a été exécuté
le programme et où figurait le fichier de données.
5. L’ouverture du fichier résultat permet de vérifier que son contenu est celui prévu,
à savoir l’ensemble des relevés journaliers uniquement pour la commune choisie. Il
doit donc contenir au maximum 366 lignes.
Le programme Python solution est le suivant et est disponible dans le fichier
Chap5_FiltreSaintDenis_Solution.py.
f1 = open("Chap5_indices_IDF_2017.csv", "r")
f2 = open("indicesSaintDenis.csv", "w")
entete = f1.readline()
f2.write(entete)
ligne = f1.readline()
while ligne != "":
date,ninsee,no2,o3,pm10 = ligne.split(",")
if ninsee == ‘93066’:
f2.write(ligne)
ligne = f1.readline()
f1.close()
f2.close()
Ce programme filtre bien dans le fichier initial contenant tous les relevés quotidiens
d’Île-de-France, uniquement les relevés concernant la commune de Saint-Denis pour
les réécrire dans un nouveau fichier nommé indicesSaintDenis.csv.

Activité 12. Histogramme de pollution


j Activité branchée sur poste informatique.
j Durée estimée : 30 à 45 minutes.
j Fichiers corrigés disponibles sur site compagnon et Bibliomanuel :
Chap5_indicesSaintDenis.csv ; Chap5_Act12_Solution_Question1.py ;
Chap5_Act12_Solution_Question2.py ; Chap5_Act12_Solution_Question3.py

Le fichier de données de cette activité peut être soit celui fourni pour la commune de
Saint-Denis soit celui généré lors de l’activité 11 pour une commune au choix des élèves.
L’activité est progressive et permet de compléter le programme au fur et à mesure.
1. Le programme peut être construit en reprenant le programme donné à l’activité 10
à condition de bien modifier le nom du fichier à ouvrir en lecture. Il n’y a plus de condi-
tion à écrire sur le code INSEE, puisque le nouveau fichier de données ne contient
que les relevés d’une commune. Il faut à la place écrire une condition permettant de
tester le dépassement du seuil de pollution élevée aux particules fines.
2. La règle indiquée se traduit par une nouvelle condition portant sur les trois indices
de pollution.
3. Le comptage des jours où la qualité de l’air a été très faible, faible, moyenne, élevée
ou très élevée nécessite l’usage d’autant de variables pour mémoriser ces nombres
au fur et à mesure de la lecture du fichier.
4. L’affichage du résultat sous forme de tableau nécessite de formater précisément
les valeurs avec un nombre de caractères précis, pour que les alignements soient
corrects. Les informations techniques peuvent être données aux élèves pour éviter
toute difficulté technique inutile.
59

04733675_001-096.indd 59 28/08/2019 12:19


Les corrigés des différentes étapes sont disponibles dans les fichiers : Chap5_Act12_
Solution_Question1.py ; Chap5_Act12_Solution_Question2.py ; Chap5_Act12_
Solution_Question3.py
Le programme final est le suivant :
f = open("Chap5_indicesSaintDenis.csv", "r")
entete = f.readline()
ligne = f.readline()
ntf, nf, nm, ne, nte = 0, 0, 0, 0, 0
while ligne != "":
date,ninsee,no2,o3,pm10 = ligne.split(",")
indice = max(int(no2), int(o3), int(pm10))
if indice < 25:
ntf = ntf+1
elif indice < 50:
nf = nf+1
elif indice < 75:
nm = nm+1
elif indice <= 100:
ne = ne+1
else:
nte = nte+1
ligne = f.readline()
print("Pollution")
print("|Très Faible| Faible | Moyenne | Elevée |Très élevée|")
print("| {:6} | {:6} | {:6} | {:6} | {:6} |".format(ntf,
nf, nm, ne, nte))
f.close()
Son exécution affiche l’histogramme de qualité de l’air pour l’année 2017 pour la ville
de Saint-Denis :
Pollution
Très Faible Faible Moyenne Élevée Très élevée
10 262 83 9 0

Les trois activités 10 à 12 illustrent la richesse des traitements de fichier pouvant


être programmés à partir d’un seul modèle d’algorithme de lecture ligne à ligne du
fichier et de traitement successif de ses lignes. Ces activités peuvent être transposées
simplement à d’autres jeux de données selon le choix du domaine d’application ciblé.
Tous les traitements consistant en des comptages, des détections de seuils ou des
filtrages de données peuvent être programmés de cette manière.
Les traitements plus complexes sont ceux où toute l’information doit être chargée
simultanément en mémoire avant de commencer le traitement, comme dans les
algorithmes de tris ou de croisement entre données.

Analyse et débats
La découverte de la richesse des données collectées et disponibles et de la puis-
sance des traitements possibles amène inéluctablement à se poser la question de
leur usage. Les débats sur l’usage des traitements massifs de données peuvent
être menées de manière plus éclairée après avoir découvert ce que l’on peut en
programmer.

60

04733675_001-096.indd 60 28/08/2019 12:19


Chapitre 5 Données et traitements

Enjeu 1. L’ouverture des données publiques


jL’ouverture des données publiques est un phénomène relativement récent qui ouvre
des possibilités importantes à condition que les utilisateurs potentiels aient les capacités
techniques de s’en saisir et les moyens d’exploiter et de « faire parler » les données.

Enjeu 2. L’exploitation du « big data », science ou surveillance ?


jLe « big data », par la quantité des données recueillies, offre des potentialités pouvant
être considérées comme des chances ou comme des menaces. La puissance des
algorithmes, répétant des millions de fois des calculs élémentaires permet d’envi-
sager des traitements auparavant impossibles à réaliser. La question de l’éthique
peut être posée avec les élèves, en particulier la question des limites que la société
choisit ou non de poser aux possibilités de la science.

Enjeu 3. Les données personnelles : protection et usages


jLes données à caractère personnel sont protégées par la loi. C’est d’ailleurs la seule
manière de protéger ces données, car une fois numérisées, les données peuvent
techniquement être copiées sans limite et croisées entre elles, dévoilant par recou-
pement de nouvelles informations potentiellement à caractère personnel non divul-
guées précédemment. L’enjeu de protection est donc essentiellement juridique.

Enjeu 4. Les data centers et leurs impacts sur l’environnement


jL’impact sur l’environnement du stockage et des traitements massifs de données
augmente rapidement alors que le réchauffement climatique s’accélère. Sans tenir
un discours excessivement alarmiste, il est important de poser cette contradic-
tion. La dématérialisation d’activités, censée apporter des économies de matière et
d’énergie, occasionne en retour une augmentation de la consommation des réseaux
et des centres de données.

Pour aller plus loin


Les activités complémentaires proposées abordent des algorithmes de traitement de
données nécessitant le stockage en mémoire des données et l’utilisation de méthodes
de programmation au programme de la spécialité Numérique et Sciences informa-
tiques (NSI) en classe de première. Ces activités ont donc seulement un objectif de
découverte et sont à mener en mode débranché, sans chercher à programmer effec-
tivement les algorithmes abordés.

Activité 13. Trier les données


j Activité débranchée.
j Durée estimée : 30 minutes.

La question de la découverte d’un algorithme systématique de tri diffère sensible-


ment de l’activité manuelle consistant à trier un paquet de cartes. En effet, l’humain
dispose d’une capacité de vision globale lui permettant d’avoir une planification très
61

04733675_001-096.indd 61 28/08/2019 12:19


élaborée de son action mêlant des actions locales pour placer une carte par rapport
à une autre, et des actions globales positionnant plutôt les cartes les plus hautes à
tel endroit et les plus basses à un autre.
Anticiper un algorithme pouvant être exécuté par une machine oblige à se limiter à
des actions élémentaires stéréotypées. On a choisi ici de permettre un échange de
carte, et de tester deux cartes pour savoir si elles sont dans le bon ordre.
Les cartes sont supposées être rangées dans un tableau porte-cartes qui simule la
structure de la mémoire et fournit des numéros de cases permettant de désigner
les cases dont on va observer les cartes.
Un algorithme possible avec les instructions proposées est l’algorithme du tri à bulle.
pour i de 1 à 19
pour j de 1 à 19
si cartes à la position j et à la position j+1 ne sont
pas dans l’ordre
échanger la carte à la position j avec la carte à la
position j+1
L’intérêt de donner l’algorithme écrit par un élève à un autre élève est de le faire
exécuter sans a priori, machinalement, sans connaître l’intention du rédacteur.
On peut ainsi plus facilement constater les erreurs ou opérations inutiles prévues
par le rédacteur de l’algorithme, et engager alors un dialogue pour améliorer
l’algorithme proposé.

Activité 14. Traiter plusieurs tables pour croiser des données


j Activité débranchée.
j Durée estimée : 30 minutes.

Cette activité présente un problème de croisement de deux fichiers dont la difficulté


vient de la recherche de l’ordre dans lequel parcourir les deux fichiers pour obtenir
les informations demandées.
Le fait de disposer seulement des fichiers imprimés empêche de pouvoir les trier en
mémoire et oblige à les consulter dans l’ordre où ils sont imprimés.
1. Il suffit de rechercher ligne à ligne dans le premier fichier la ligne comportant le
nom du conducteur recherché, puis de noter le lieu de départ, le lieu d’arrivée et la
date. Ensuite, il faut rechercher dans le second fichier ligne à ligne les passagers
demandant un covoiturage ce jour-là, avec le même départ et la même arrivée.
L’ordre de parcours est simple, d’abord le premier fichier, puis le second.
2. L’organisateur du covoiturage doit repérer toutes les combinaisons possibles ; pour
cela, il doit parcourir plusieurs fois chaque fichier pour trouver pour chaque conduc-
teur tous les passagers qu’il pourrait emmener, ou pour chaque passager, tous les
conducteurs qui pourraient l’emmener. Il y a plusieurs algorithmes possibles : tous
nécessitent de parcourir un des fichiers une fois du début à la fin et l’autre autant de
fois qu’il y a de fiches dans le premier fichier.
3. La troisième question est en fait comparable à la première. Il faut commencer par
rechercher la fiche du passager concerné, puis parcourir le fichier des conducteurs.
En l’absence de tri possible par date de départ, il faut de toute façon scruter tout le
fichier des conducteurs à la recherche de ceux qui effectuent le même trajet le jour
même, la veille ou le lendemain.

62

04733675_001-096.indd 62 28/08/2019 12:19


Chapitre 6 Cartographie et localisation

CHAPITRE 6
Cartographie et localisation
Introduction
Cette thématique est paradoxalement entrée dans le quotidien des élèves à travers
les applications de cartographie et localisation sur smartphone, mais reste large-
ment ignorée par rapport à ses principes de fonctionnement, que ce soit la trilaté-
ration ou le calcul du plus court chemin. L’ambition des activités de ce chapitre est
donc de faire découvrir « comment ça marche » au plus grand nombre, voire d’ins-
pirer des vocations pour celles et ceux qui souhaiteraient poursuivre par des études
plus spécialisées en géographie et en informatique afin de se diriger vers les métiers
de la géomatique.

Activités de découverte
Toutes les activités de découverte de ce chapitre, hormis la première, sont en mode
débranché. Il est en effet indispensable de s’approprier la cartographie en manipu-
lant des cartes avant de tenter de les programmer.

Activité 1. Un site à explorer : OpenStreetMap


j Activité branchée nécessitant une connexion à internet : exploration d’un site
emblématique du thème étudié.
j Adresse du site : https://www.openstreetmap.org/

Le site à explorer en autonomie est le site de cartographie collaborative OpenStreetMap.


Bien que le programme évoque dans les capacités attendues « Contribuer à
OpenStreetMap de façon collaborative », l’énoncé de cette activité reste plus prudent.
En effet, il n’est pas forcément raisonnable que 600 000 lycéens en classe de seconde
se mettent à contribuer simultanément. La communauté des cartographes béné-
voles n’a pas les capacités à encadrer tant de contributions qui nécessiteraient le plus
souvent d’être corrigées pour être réellement publiables. Cette précaution ne vise
cependant pas à décourager les élèves les plus téméraires qui, après avoir repéré
une erreur ou une omission (nouveau bâtiment construit dans le lycée par exemple),
souhaiteraient s’organiser pour la corriger.
L’activité de découverte vise dans un premier temps l’appropriation pour un usage
élémentaire. L’identification des coordonnées géographiques et des niveaux de zoom
dans l’URL permet de comprendre que l’on peut ainsi communiquer le lien vers une
carte choisie.

63

04733675_001-096.indd 63 28/08/2019 12:19


Activité 2. Cartes IGN
j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

L’appropriation de cartes nécessite des capacités cognitives de reconnaissance de


formes qui s’acquièrent en exerçant le regard. C’est le premier objectif de cette acti-
vité de familiarisation avec les différentes échelles des cartes. Les cartes utilisées
sont les cartes aux échelles habituelles des cartes papier éditées par l’IGN (Institut
Géographique National).
Attention ! On note cependant que ces cartes ont été reproduites dans le manuel
en les agrandissant pour une meilleure lisibilité : il ne faut donc pas mesurer les
distances sur le manuel.
1. On peut reconnaître le profil général de la D784 et constater le supplément d’infor-
mation sur la carte au 1/150 000, en particulier le village de Plogoff et de nombreuses
voies supplémentaires.
2. On notera le changement de représentation des zones construites des hameaux
de Le Dreff et de Penneac’h. De nombreux chemins apparaissent seulement sur la
carte au 1/25 000.
3. L’identification des parties agrandies oblige à identifier des détails communs à
deux cartes successives. Les encadrés matérialisent la partie représentée sur la
carte suivante.
Doc. 1 Carte IGN (échelle : 1/1 000 000) Doc. 2 Carte IGN (échelle : 1/150 000)

Doc. 3 Carte de randonnée du Cap-Sizun, Finistère (1/50 000) Doc. 4 Carte d’état major des environs de Plogoff, Finistère (1/25 000)

Activité 3. Distance entre deux villes


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Cette activité est une découverte de l’algorithme du plus court chemin.


Les objectifs sont de faire prendre conscience des informations nécessaires à ce
calcul et d’amener à une représentation schématique du problème par un graphe.
64

04733675_001-096.indd 64 28/08/2019 12:19


Chapitre 6 Cartographie et localisation

1. Calculer la distance selon un itinéraire donné demande simplement d’addi-


tionner les annotations kilométriques figurant sur le parcours : 22, 17, 26 et 18 soit
83 kilomètres.
2. Il y a deux chemins entre Ligueil et La Roche-Posay : 36 km par Preuilly contre
37 km par les RD 31 et 750.
3. Pour retenir le plus court chemin, il faut noter au fur et à mesure, à chaque carre-
four, la distance parcourue depuis le départ. Si on trouve un raccourci en passant par
un autre chemin, il faut alors remplacer la distance notée précédemment.
La difficulté quand on fait ce travail à la main est de s’assurer que l’on a bien testé
toutes les possibilités.
4. Pour représenter ce problème, on peut se débarrasser de tous les détails inutiles
pour faire ce calcul, à savoir les virages des routes, leurs numéros, les rivières, etc.
On obtient alors une représentation schématique ne contenant que les carrefours,
les routes et les distances (voir manuel élève j Doc. 7 p. 116). On note cependant que
certaines distances manquent sur la carte, ce qui empêche de représenter correcte-
ment sur un graphe les routes n’ayant pas de kilométrage annoté.

Activité 4. Localisation d’un mobile


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

La trilatération est souvent confondue avec une technique voisine : la triangulation.


La triangulation consiste à calculer la position à partir de trois angles, c’est ce que
font les navigateurs avec un compas de relèvement. Le positionnement par satellites
utilise la trilatération qui consiste à calculer la position à partir de trois distances.
L’objectif de cette activité est de manipuler un objet situé à une certaine distance (la
longueur des ficelles) de trois points puis de constater, les distances étant fixées, que
l’objet ne peut être qu’à un seul point.
Pour que l’activité fonctionne, il faut positionner trois points fixes – symbolisant les
satellites – et ne faire varier que la longueur des ficelles.
Si les élèves se demandent pourquoi trois, il suffit de tester avec deux ficelles pour
constater que le personnage peut se balancer entre les deux et être à une infinité de
positions différentes. La troisième est donc indispensable pour calculer la position.

Cours
Dans ce chapitre, le cours se concentre sur les fondamentaux indispensables pour
comprendre le fonctionnement de la cartographie et de la localisation.
La notion d’échelle est un obstacle courant. On insiste donc sur l’interprétation souvent
erronée des termes « petite échelle » et « grande échelle ».
Les notions de carte matricielle ou vectorielle et de couche d’information sont indis-
pensables pour interpréter ce que l’on voit sur une carte numérique selon son échelle
(j activité 5).
On a choisi de donner une explication détaillée, pas à pas de l’algorithme du plus court
chemin, sur un exemple, car cet algorithme est réputé difficile. Il est inutile de vouloir
le formaliser. On le comprend mieux en le testant. La subtilité de cet algorithme réside
65

04733675_001-096.indd 65 28/08/2019 12:19


dans le choix de l’ordre dans lequel traiter les sommets : toujours commencer par
celui sur lequel est notée la distance la plus faible. Il faut bien distinguer dans le voca-
bulaire employé le fait de « noter » une valeur sur un sommet et le fait de « traiter »
un sommet : traiter un sommet consiste à mettre à jour les distances notées sur tous
ses voisins qui n’ont pas encore été traités. On peut entourer les distances notées
sur les sommets traités pour signifier qu’elles ne risquent plus d’être modifiées.
Concernant la localisation par satellites, la seule difficulté consiste à expliquer que
la trilatération requiert trois distances, mais nécessite quatre satellites. En effet, les
distances étant calculées indirectement par une mesure de temps de transmission,
le récepteur a besoin de recevoir aussi un signal horaire précis synchronisé avec
le temps des satellites. Il y a donc quatre inconnues dans le système d’équations à
résoudre par le récepteur : les trois distances et le temps.
La partie programmation a été limitée à l’essentiel pour permettre de fabriquer par
programme des cartes sur lesquelles visualiser des données. Cela permet de donner
une suite aux activités du thème données en montrant que l’on peut visualiser des
résultats sur une carte.
Le protocole NMEA est cité conformément au programme, mais aucune application
n’est proposée car les contraintes de mise en œuvre font que son usage en classe
n’a que peu d’intérêt.

Activités d’application
Les activités proposées sont de diverses natures : activité débranchée pour un calcul
de plus court chemin, activités avec des systèmes d’information géographique (SIG)
et activités de programmation.

Activité 5. Les couches de Géoportail


j Activité branchée nécessitant une connexion à internet.
j Durée estimée : 15 à 30 minutes.
j Adresse du site : https://www.geoportail.gouv.fr/

L’objectif de cette activité est d’observer un SIG pour en déduire la nature des infor-
mations enregistrées. Géoportail est le site de cartographie de l’IGN qui propose des
cartographies matricielles de grande qualité.
1. On choisit les fonds correspondant aux cartes papier grand
public.
2. Il y a sept fonds de carte différents. Chaque fonds de carte est utilisé pour plusieurs
échelles consécutives. On distingue facilement à chaque zoom s’il y a changement
de fond de carte ou simplement agrandissement du fond utilisé. On peut donc bien
changer de niveau de zoom sans changer de fonds de carte.
3. Les changements de fonds de carte s’effectuent grâce au menu de gauche
.
4. Pour superposer deux fonds de carte, il faut régler l’opacité de la carte située au
niveau supérieur pour « voir à travers » la carte située au niveau inférieur.
66

04733675_001-096.indd 66 28/08/2019 12:19


Chapitre 6 Cartographie et localisation

Ce réglage est accessible dans les propriétés de la carte en cours dans le bandeau
d’outils de droite.
5. Parmi les données thématiques, la plupart des couches sont vectorielles et peuvent
être superposées à la carte courante.

Activité 6. Un itinéraire sur OpenStreetMap


j Activité branchée nécessitant une connexion à internet.
j Durée estimée : 15 à 30 minutes.
j Adresse du site : https://www.openstreetmap.org/

L’objectif de cette activité est d’observer les critères utilisés pour calculer les itiné-
raires. OpenStreetMap propose plusieurs outils de recherche d’itinéraires adaptés
au mode de déplacement (à pied, en vélo, en voiture).
1. La recherche d’itinéraire tient compte des caractéristiques des voies j Doc. 6
page 116.
2. On ne s’étonne donc pas que l’itinéraire en voiture soit très différent de celui proposé
aux cyclistes ou aux piétons.
3. En déplaçant les curseurs pour rechercher des trajets d’une heure, on peut noter
que pour des routes départementales en voiture, une vitesse moyenne de 60 km/h
est retenue. Pour des trajets pédestres, la vitesse de référence utilisée est de 5 km/h.

Activité 7. À bicyclette…
j Activité débranchée.
j Durée estimée : 30 à 45 minutes.

On peut bien sûr adapter cette activité en la transposant dans la région de son choix
et en proposant des itinéraires plus ou moins longs. Il faut dans ce cas vérifier que
l’on dispose bien des annotations kilométriques le long de toutes les portions de
route à étudier.
Partie 1. L’aller…
1. En empruntant l’itinéraire qui semble le plus direct par Nontron, Saint Pardoux-la-
Rivière et Jumilhac-le-Grand, le kilométrage à parcourir est de 88 km. Rien ne permet
d’affirmer que c’est le plus court. La difficulté est qu’il y a beaucoup de variantes
possibles qui se croisent, ce qui fait beaucoup d’itinéraires à comparer.
2. L’algorithme du plus court chemin (voir manuel élève, page 117) est effectivement
une méthode systématique permettant de tester tous les itinéraires et de trouver le
plus court, à condition de construire le graphe des distances.
C
36
27
N 29
22 34 S
32
M 20 T
16
19 26 21 L
B
67

04733675_001-096.indd 67 28/08/2019 12:19


3. En exécutant pas à pas l’algorithme on obtient le plus court chemin suivant :
M– B– T– S.
4. La distance à parcourir est de 77 km.
Partie 2. …et le retour !
1. Si on souhaite calculer un plus court chemin de retour, le résultat est le même car
le calcul ne dépend pas de l’orientation, sauf si on décide de ne pas emprunter un
chemin déjà emprunté. Dans ce cas, c’est un nouveau problème, donc un nouveau
graphe sur lequel on supprime les chemins déjà empruntés.
2. Le chemin est plus long car on a supprimé des chemins. En appliquant à nouveau
l’algorithme en partant de Saint-Yrieix, on obtient le marquage suivant avec un itiné-
raire de 85 km passant par Chalus et Nontron.
27
36
27
63 29
22 34 0
85 20 37 16
21
83 16

Activité 8. Tremblements de terre


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap6_Earthquake.csv ; Chap6_PrintEarthQuake.py;
Chap6_Antilles.py; Chap6_EarthQuake_Solution.py

L’objectif de cette activité est de passer d’un programme de traitement de données


à un programme de visualisation de données sur une carte.
1. Le premier programme lit ligne à ligne un fichier de 17.5 -61.5 1690
données et les affiche à l’écran. Chaque ligne comporte 14.4 -61.0 1702
une latitude, une longitude et une année. 18.3 -66.4 1717
2. Le second programme génère un fichier HTML contenant ...
une carte avec un unique marqueur signalant « Antilles ».
3. Le programme à construire consiste à fusionner les deux programmes fournis
pour générer une carte des Antilles avec la localisation des tremblements de terre
depuis 1690. La solution est donnée dans le fichier : Chap6_EarthQuake_Solution.py.
import folium
carte = folium.Map(location=[16, -64], zoom_start=7)
f = open("Chap6_Earthquake.csv", "r")
entete = f.readline()
ligne = f.readline()
while ligne != "":
y,l,g = ligne.split(";")
folium.Marker([float(l),float(g)],popup=y).add_to(carte)
ligne = f.readline()
f.close()
carte.save('Antilles.html')
68

04733675_001-096.indd 68 28/08/2019 12:19


Chapitre 6 Cartographie et localisation

Les instructions du programme de génération de carte ont simplement été insérées


aux bons endroits dans le programme de traitement de données : la création de carte
au début, l’ajout de marqueurs dans la boucle à chaque lecture d’une ligne concer-
nant un tremblement de terre, puis la sauvegarde de la carte à la fin du programme.

Activité 9. Un itinéraire enregistré


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichier élèves disponible sur site compagnon et Bibliomanuel :
Poste informatique. Chap6_Trace.gpx

Cette activité a pour objectif de présenter un format usuel de trace d’itinéraire pouvant
être enregistrée sur un smartphone et de montrer un moyen simple d’en obtenir une
visualisation avec un système d’information géographique.
1. L’observation du début du fichier montre un format répétitif avec des balises
ressemblant à du HTML. C’est en réalité une variante de XML qui est également un
langage de balises.
La balise <trkpt lat="47.7050573" lon="-3.34987"> contient des informations
de latitude et longitude.
La balise <time>2019-01-01T10:25:21Z</time> contient la date et l’heure.
Plus de 3 000 enregistrement de cette forme sont présents dans le fichier qui est
destiné à être lu automatiquement par un programme spécialisé.
2. La fonction de Géoportail permet d’importer et de visualiser directement
la trace. Elle s’affiche comme une couche d’informations supplémentaires super-
posée à la carte.
3. En analysant en détail ce parcours, on peut effectivement en retrouver les difficultés
qui sont dans la partie Est du parcours : un chemin obstrué près du lieu-dit Kerfaut
où le randonneur a dû faire demi-tour, et un ruisseau tout proche qu’il a longé dans
les deux directions avant de trouver le meilleur endroit pour le franchir.
On peut conclure de cette activité que l’enregistrement de traces est très indiscrète
car elle permet très précisément de positionner le porteur du GPS.
Pistes d’activités.
Des activités analogues peuvent être réalisées pour faire du « GPS drawing », activité
à la mode consistant à parcourir en ville un itinéraire représentant un dessin parti-
culier, à afficher ensuite sur un fond de carte.

Activité 10. Un itinéraire programmé


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap6_Trace.csv ; Chap6_Trace_Solution.py

Cette activité transpose l’activité 9 précédente en programmation Python.


Les données ont été simplifiées et transcrites en CSV en ne gardant que les coor-
données de chaque point en latitude et longitude.
69

04733675_001-096.indd 69 28/08/2019 12:19


La programmation est analogue à celle de l’activité 8. Il suffit en effet de lire le fichier
et, à chaque point de la trace, de visualiser ce point sur la carte.
Sachant que c’est la suite des points qui permet de dessiner la trajectoire, il est inutile
d’ajouter des informations supplémentaires. Chaque point peut n’être dessiné que
par un point au lieu d’un marqueur.
La solution est donnée dans le fichier corrigé Chap6_Trace_Solution.py.
import folium
carte = folium.Map(location=[47.7, -3.3], zoom_start=13)
f = open("Chap6_Trace.csv", "r")
entete = f.readline()
ligne = f.readline()
while ligne != "":
l,g = ligne.split(";")
folium.Circle([float(l),float(g)],radius=1).add_to(carte)
ligne = f.readline()
f.close()
carte.save('TraceGps.html')
Le carte générée est la suivante :

Analyse et débats
La compréhension de la nature des informations mémorisées en cartographie,
ainsi que des formats de données de localisation pouvant être enregistrées par ou
à l’insu de l’utilisateur, permettent d’aborder les enjeux de la localisation avec des
arguments sérieux.

Enjeu 1. Numérisation et remplacement des cartes papier


Parmi les enjeux de la numérisation de la cartographie, le choix de cartes matri-
cielles ou vectorielles est déterminant comme le montre la mésaventure du voilier
danois j Doc. 1 p. 125. Faisant une confiance aveugle à une cartographie vecto-
rielle à petite échelle, le navigateur a omis de zoomer et n’a pas vu sur la carte une
barrière de corail !
jSur une carte matricielle dessinée par un cartographe, le danger aurait été reporté
par le cartographe par un symbole spécial sur la carte à petite échelle.
jSur une carte vectorielle, toutes les informations sont mémorisées dans une base
de données et c’est le logiciel qui calcule automatiquement, en fonction du niveau
de zoom, les détails à afficher.
70

04733675_001-096.indd 70 28/08/2019 12:19


Chapitre 6 Cartographie et localisation

Enjeu 2. Actualisation des cartographies numériques


L’actualisation des cartographies numériques est un enjeu critique, dès lors que
nombre d’usages dépendent d’un guidage automatique.
jLes systèmes collaboratifs comme OpenStreetMap montrent, dans les territoires
où beaucoup de bénévoles y participent, un temps de réponse très court pour carto-
graphier une nouvelle voirie ou la construction d’un bâtiment. Ils peuvent cependant
être fragiles si de nombreux internautes proposent des mises à jour fantaisistes. Des
activités de mise à jour peuvent être envisagées avec des élèves, seulement dans un
contexte où ils sont conscients de leur responsabilité pour améliorer la qualité de la
cartographie de leur quartier.
jLes cartographies embarquées à bord des véhicules sont rarement mises à jour
comme en témoigne l’extrait de presse cité j Doc. 2 p. 125.

Enjeu 3. Localisation et surveillance


La localisation des personnes, de leur plein gré ou à leur insu, est évidemment un
des enjeux fondamentaux pour la protection de la liberté individuelle. L’exemple de
la localisation des téléphones portables pose la question de la nature réelle d’un
service offert, en échange de la commercialisation possible des données de locali-
sation. Les applications de localisation volontaire de proches rencontrent des succès
variés selon les pays où ils sont proposés.
C’est indéniablement une source de sujets de débats passionnés avec les élèves.

Enjeu 4. Fiabilité et précision de la localisation


La fiabilité et la précision de la localisation ont fortement varié entre le lancement du
GPS en mode dégradé, sa mise à disposition du public, et l’arrivée du système Galiléo.
La question de qui contrôle la précision des systèmes de positionnement reste néan-
moins critique, au vu du nombre croissant d’activités qui en dépendent.

Pour aller plus loin

Activité 11. Calcul d’itinéraire


j Activité branchée sur poste informatique.
j Durée estimée : 30 à 45 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap6_Dijkstra.py ; Chap6_Dijkstra_Solution.py

Cette activité a d’abord pour objectif de donner à voir le comportement de l’algo-


rithme de calcul du plus court chemin. Les parties principales du programme sont
données sous forme de fonctions pour que les élèves puissent expérimenter direc-
tement dans l’interprète Python.
Les questions 1., 2. et 3. permettent de guider les élèves dans une utilisation interactive.
La copie de session suivante illustre l’usage des fonctions pour choisir le sommet
suivant puis le traiter.
71

04733675_001-096.indd 71 28/08/2019 12:19


Les tableaux l et m sont affichés à chaque étape.
l est le tableau des longueurs depuis le sommet de départ.
m est le tableau de marquage des sommets déjà traités.
À chaque étape, la fonction choix donne le numéro du prochain sommet à traiter.
>>> choix()
0
>>> traite(0)
>>> l
[0, 18, 22, 1000, 1000]
>>> m
[True, False, False, False, False]
>>> choix()
1
>>> traite(1)
>>> l
[0, 18, 22, 44, 1000]
>>> m
[True, True, False, False, False]
>>> choix()
2
>>> traite(2)
>>> l
[0, 18, 22, 44, 39]
>>> m
[True, True, True, False, False]
...
On peut ainsi observer la progression des calculs à chaque traitement de sommet.
4. La solution à la quatrième question consiste donc à répéter le traitement des
sommets choisis :
for i in range(5):
traite(choix())
5. La dernière question, plus difficile, nécessite de bien comprendre la représentation
du graphe des distances par son tableau d’adjacence pour saisir la version complète
du graphe à onze sommets.
6.
d = [[ 0, 18, 22, 0, 0, 0, 0, 0, 0, 0, 0],
[18, 0, 31, 12, 26, 0, 0, 0, 0, 0, 0],
[22, 31, 0, 0, 0, 17, 0, 0, 0, 0, 0],
[ 0, 12, 0, 0, 0, 0, 24, 0, 0, 0, 0],
[ 0, 26, 0, 0, 0, 12, 9, 0, 0, 0, 0],
[ 0, 0, 17, 0, 12, 0, 0, 0, 13, 0, 0],
[ 0, 0, 0, 24, 9, 0, 0, 12, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 12, 0, 7, 0, 24],
[ 0, 0, 0, 0, 0, 13, 0, 7, 0, 12, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 18],
[ 0, 0, 0, 0, 0, 0, 0, 24, 0, 18, 0]]
La solution complète est donnée dans le fichier Chap6_Dijkstra_Solution.py
Son exécution permet de retrouver la longueur du plus court chemin pour aller de
Loches à Saint-Savin (voir manuel élève page 117).

72

04733675_001-096.indd 72 28/08/2019 12:19


Chapitre 7 Informatique embarquée et objets connectés

CHAPITRE 7
Informatique embarquée et objets connectés
Introduction
L’objectif de ce chapitre est de faire découvrir aux élèves que les systèmes embar-
qués et les objets connectés reposent sur la même science informatique que les
programmes de calcul ou de traitement d’informations en général. La seule parti-
cularité notable des programmes utilisés est qu’ils ne s’arrêtent pas et qu’ils intera-
gissent avec le monde réel par des dispositifs spécifiques : capteurs et actionneurs.
Un enjeu didactique est de permettre aux élèves de faire la synthèse entre les systèmes
programmables étudiés en technologie et les algorithmes étudiés en mathématiques
au collège. Les enjeux liés à la prolifération massive des objets connectés pourront
alors être abordés en ayant compris leur nature et leurs principes de fonctionnement.

Activités de découverte
Les activités de découverte, à l’exception de la première destinée à être réalisée en
autonomie, sont à effectuer sans ordinateur, en mode débranché, et permettent
d’observer, de penser les systèmes avant de se plonger dans leur programmation.

Activité 1. Un site à explorer : micro:bit


j Activité branchée nécessitant une connexion à internet : exploration d’un site
emblématique du thème étudié.
j Adresse du site : https://python-editor-1-1-2.microbit.org/help.html

Cette activité de découverte autonome permet aux élèves de consulter un site anglais
fait par des enseignants anglais à destination de leurs élèves, pour expliquer la mise
en œuvre de la carte micro:bit développée spécifiquement pour l’enseignement en
Grande-Bretagne.
Le niveau de langue utilisé élémentaire le rend accessible, y compris pour des élèves
ayant un niveau faible en anglais. L’humour, anglais bien sûr, utilisé dans la bande
dessinée p. 134 accompagne bien le message pédagogique.
L’objectif de l’activité est de découvrir le traditionnel "Hello World" qui est un élément
de la culture informatique, puis de faire constater que tous les programmes proposés
sont écrits sur le même schéma avec l’instruction : while True.
Cette découverte permettra ensuite de construire l’algorithme fondamental de ce
chapitre.

73

04733675_001-096.indd 73 28/08/2019 12:19


Activité 2. Des capteurs dans le téléphone
j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est d’analyser un objet numérique du quotidien du point de


vue des informations manipulées. On se préoccupera donc des différents dispositifs
techniques uniquement dans la mesure où ils permettent de donner des informa-
tions au processeur embarqué dans le téléphone, ou d’en émettre, ou d’en commu-
niquer à l’utilisateur.
1. Les dispositifs permettant à l’utilisateur de donner des informations dépendent
évidemment de l’appareil. On trouve toujours au moins des touches permettant de
transmettre une information logique (appui ou non, maintien ou non...) et un micro-
phone permettant de capter la voix. La plupart des appareils ont aussi un clavier
tactile permettant de capter appui et mouvements d’un ou plusieurs doigts.
2. Les dispositifs permettant au smartphone de donner des informations à l’utilisa-
teur incluent le haut-parleur et l’écran, mais aussi les différents voyants et le vibreur.
3. Les dispositifs permettant de capter des informations de l’environnement dépendent
des appareils. La plupart des smartphones disposent d’un accéléromètre permettant
de capter les mouvements de l’appareil dont, en particulier, son orientation (qui peut
d’ailleurs être utilisée par l’utilisateur comme moyen d’interagir et peut donc avoir
été recensée en question 2). On peut aussi trouver différents capteurs de tempéra-
ture, de pression, une boussole indiquant le nord...
4. Les dispositifs permettant de communiquer par signaux numériques avec d’autres
machines varient selon les technologies utilisées.
Pour les communications téléphoniques et de données, les smartphones disposent
de périphériques permettant émission et réception selon divers protocoles : 3G, 4G,
WiFi, Bluetooth... La plupart disposent aussi en réception des signaux des satellites
de positionnement.

Activité 3. Une douche chaude


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Le réglage de température d’une douche est un exemple d’usage d’algorithme de


contrôle, bien qu’au quotidien on ne le formalise pas habituellement ainsi. L’objectif
de cette activité est d’expliciter ce que l’on peut faire intuitivement ou par expérience.
1. À l’issue d’un premier réglage approximatif, la température se stabilise au bout
d’un certain temps, à une certaine température qui peut être plus ou moins éloignée
de la température souhaitée.
Plusieurs algorithmes sont alors possibles. On peut modifier légèrement le réglage
du robinet froid ou chaud, attendre la stabilisation de la température et éventuelle-
ment recommencer un nouveau réglage. On peut aussi avoir dès le début une action
proportionnelle à l’écart de température sur l’un des deux robinets.
Selon le mode de réglage choisi, « ouvrir plus » ou « fermer plus » un des robinets,
on peut aboutir à une situation où le débit devient trop faible ou trop fort.

74

04733675_001-096.indd 74 28/08/2019 12:19


Chapitre 7 Informatique embarquée et objets connectés

2. Si les corrections effectuées n’entraînent pas de modification assez rapide, le


processus de réglage pouvant être très long, on peut alors effectuer une action de
plus grande amplitude. À l’opposé, si une eau trop froide vient à se réchauffer très
rapidement, il faut probablement inverser le mouvement sur le robinet d’eau chaude
en diminuant le débit avant que l’eau ne devienne trop chaude.
Cette action dépend de la variation de la température et est indispensable pour éviter
les oscillations brutales entre trop froid et trop chaud.
3. En cas de variation rapide d’un des débits d’entrée, il faut recommencer le processus
de régulation en se basant à la fois sur l’écart de température constaté et sur sa vitesse
de variation pour ramener la température au plus proche de la température souhaitée.
4. Les algorithmes peuvent être très divers, la question étant d’expliciter chacun le sien...
Sans entrer dans les détails des systèmes de régulation en automatique, les algo-
rithmes de contrôle chargés de faire respecter une valeur de consigne pour un phéno-
mène physique fonctionnent selon le même principe que la douche. Le contrôle
consiste, selon les valeurs successives d’un capteur, à modifier l’action par rapport à
l’écart à la consigne (contrôle proportionnel), à la vitesse de variation (contrôle dérivé)
et à l’écart cumulé sur une certaine durée (intégral).

Activité 4. Une cafetière connectée


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est d’interroger le sens d’une interface homme-machine


(IHM) et de faire se questionner les élèves sur l’intérêt d’un fonctionnement automa-
tisé par rapport à la manière dont il modifie l’activité humaine.
L’activité peut être transposée à d’autres objets quotidiens dont on souhaiterait étudier
l’intérêt d’en faire des objets connectés contrôlables depuis un smartphone (grille-
pain, baignoire, réfrigérateur, télévision...).
Partie 1. Une cafetière familiale
1. On imagine un système qui s’intercale sur le bouton marche-arrêt pour le commander
à distance. On dessine l’écran d’une application avec le dessin d’une cafetière et un
bouton virtuel auquel on associe un comportement. Par exemple, on peut choisir que
le bouton vert devienne rouge quand on appuie une première fois dessus, en envoyant
à la cafetière le signal de mise en marche, et qu’il redevienne vert à l’appui suivant
en envoyant à la cafetière le signal d’extinction.
2. Évidemment, cette cafetière commandée à distance peut avoir des effets désas-
treux si elle est allumée sans son récipient ! Il faut donc imaginer une seconde version
avec des capteurs permettant de visualiser à distance son état interne. Est-ce qu’il
y a de l’eau, du café, le récipient ? On peut aussi choisir d’automatiser on non les
règles de fonctionnement. Choisit-on de montrer l’état de la cafetière sur l’applica-
tion, quitte à laisser l’utilisateur choisir s’il est opportun de la démarrer, ou choisit-on
de contraindre le comportement en faisant en sorte que le bouton de démarrage ne
soit actif que si toutes les conditions de bon fonctionnement sont remplies ?
Partie 2. Une machine collective
1. On peut imaginer une application avec différents boutons pour choisir la boisson, un
curseur pour ajouter plus ou moins de sucre, un autre pour choisir la température...
On peut imaginer que la fabrication débute dès la commande ou à une heure choisie
et que la fin de fabrication soit signalée sur l’application par un signal visuel ou sonore.
75

04733675_001-096.indd 75 28/08/2019 12:19


2. Il faut cependant se préoccuper de la concurrence d’accès à une machine collective
et donc inventer un protocole pour décider de l’ordre de traitement des demandes,
inventer un dispositif permettant de stocker les boissons en attente et de signaler
à chacun laquelle est la sienne... On s’aperçoit alors que le problème est beaucoup
plus complexe que celui imaginé au départ.
On peut alors en conclure qu’il faut intégrer les comportements humains et la manière
dont ils peuvent être modifiés, dès le début de la conception d’un objet connecté. Il faut
aussi savoir renoncer si, après étude, l’idée de conception initiale s’avère plutôt stupide.

Cours
Le cours est construit de manière à apporter les connaissances nécessaires pour
que les élèves puissent acquérir les capacités attendues : identifier un algorithme de
contrôle, écrire des programmes simples d’acquisition et de commande...
Il n’est question que d’information : on évite donc de se préoccuper des systèmes
complexes pluri-techniques et de leurs chaînes d’énergie ou de matière pour se
consacrer exclusivement à la manière dont l’information est traitée dans un système
embarqué ou un objet connecté.
L’architecture d’un système embarqué est d’abord décrite, sans interface homme
machine, avec ses capteurs, ses actionneurs et son système informatique de contrôle.
La programmation d’un système embarqué est présentée avec son algorithme fonda-
mental : le caractère non terminant des algorithmes de contrôle peut constituer un
obstacle pour les élèves. En effet, ils ont pu rencontrer au collège des définitions d’al-
gorithmes insistant sur leur exécution finie. On a pris soin au premier chapitre, dans
la définition d’un algorithme, de ne pas indiquer l’obligation de terminaison qui est
une spécificité des algorithmes utilisés en mathématiques.
Actuellement, avec la prolifération des systèmes embarqués et objets connectés, la
majorité des programmes en service sont non-terminants.
Quelques éléments sont donnés pour comprendre le passage d’un signal du monde
physique au monde numérique avec la quantification et l’échantillonnage. Cela
permet de donner du sens aux caractéristiques de périphériques comme les cartes
son par exemple.
On montre finalement comment les interfaces homme-machine complètent la structure
d’un système embarqué et permettent aux humains de contrôler les objets connectés.

Activités d’application
Les activités sont réparties en deux grandes catégories : les premières, en mode
débranché, permettent d’identifier les algorithmes de contrôle dans des dispositifs
divers : la voiture autonome, la gyroroue ou un robot mobile.
Les activités de programmation sont ensuite proposées pour mise en œuvre directe
avec la carte micro:bit programmée en micro-Python. Le choix de ce dispositif
est fait pour simplifier la mise en place pédagogique et pouvoir se concentrer sur
l’essentiel « Écrire un programme simple d’acquisition et de commande » sans
devoir se préoccuper de considérations liées à l’électronique ou à la mécanique.
La carte BBC micro:bit est le dispositif embarqué le plus simple comportant un
processeur programmable en Python et suffisamment de capteurs et d’actionneurs
déjà présents sur la carte.
76

04733675_001-096.indd 76 28/08/2019 12:19


Chapitre 7 Informatique embarquée et objets connectés

D’autres alternatives existent et sont commentées dans la partie compléments à la fin


du manuel élève. Concernant l’utilisation en classe de ces cartes programmables, il
est possible de limiter le nombre de cartes nécessaires en faisant travailler les élèves
par binômes et surtout en alternant les phases de programmation sur ordinateur
avec les phases de chargement du programme sur la carte et de tests.
Dans la pratique, disposer d’une carte pour quatre élèves suffit ainsi largement.

Activité 5. La voiture autonome


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est d’identifier quelques algorithmes de contrôle et les prin-
cipaux capteurs et actionneurs d’une voiture autonome.
Vue la complexité du système, on ne cherche pas l’exhaustivité. Il s’agit d’un travail
sur document qu’il s’agit de décoder avec le vocabulaire des systèmes embarqués.
1. Dans le texte sont cités les capteurs suivants :
huit caméras panoramiques, douze capteurs ultrasons, radar avant, sonar.
On peut supposer que la voiture dispose aussi de capteurs de positionnement GPS,
de vitesse, d’accélération et d’une boussole.
2. Les actionneurs ne sont pas cités dans le texte. Sont nécessaires les commandes
du moteur, de la direction, le frein, ainsi que tous les avertisseurs sonores ou lumi-
neux (phares, clignotants, feu de recul...).
3. Les éléments d’interface comportent divers écrans sur lesquels sont visualisés à
la fois la cartographie du lieu et les éléments significatifs reconnus dans l’environ-
nement immédiat de la voiture (autre véhicules, piétons...).
4. Les algorithmes de contrôle cités ne sont pas vraiment détaillés. On peut cepen-
dant identifier quelques fonctions particulières au-delà du « pilotage automatique » :
adaptation de la vitesse au trafic, assistance au stationnement, changement de voie,
entrée et sortie de garage...
Cette activité peut être prolongée avec l’enjeu sur la responsabilité des systèmes
embarqués.

Activité 6. Suivre la ligne


j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

L’objectif de cette activité est de commencer à détailler un algorithme de contrôle de


trajectoire pour prendre conscience de la complexité du problème. Pour permettre
sa résolution, cette situation de suivi de ligne est simplifiée au maximum.
1. Pour suivre la frontière gauche de la ligne, on place les capteurs de part et d’autre.
Si le capteur B traverse la ligne, on peut couper le moteur droit pour faire tourner le
robot vers la droite.
Si c’est le capteur A qui traverse la ligne, on coupe le moteur gauche.

77

04733675_001-096.indd 77 28/08/2019 12:19


Cet algorithme s’exprime alors ainsi :
tant que vrai
si capteur_lumiere_A > 20 et capteur_lumiere_B < 20
vitesse_moteur_1 (50)
vitesse_moteur_2 (50)
sinon si capteur_lumiere_A > 20 et capteur_lumiere_B > 20
vitesse_moteur_1 (50)
vitesse_moteur_2 (0)
sinon si capteur_lumiere_A < 20 et capteur_lumiere_B < 20
vitesse_moteur_1 (0)
vitesse_moteur_2 (50)
sinon
vitesse_moteur_1 (0)
vitesse_moteur_2 (0)
On a complété l’algorithme en précisant par prudence de couper les deux moteurs
quand aucun des capteurs n’est sur la ligne, alors que rien n’était précisé dans
l’énoncé. Cette situation arrive couramment : les spécifications peuvent être incom-
plètes, mais au moment d’écrire le programme il faut bien préciser ce qui doit être
fait dans chaque cas.
D’autres stratégies sont possibles : on peut aussi choisir de mettre un des moteurs en
arrière pour tourner plus vite, ou de simplement baisser la vitesse d’un des moteurs
pour tourner plus souplement. Ces choix ont une influence sur la trajectoire qui peut
être plus ou moins saccadée.
2. On peut utiliser un algorithme similaire à celui choisi pour la question 1.
On doit seulement changer les conditions sur les capteurs.
Il faut avancer tout droit quand les deux capteurs renvoient une valeur inférieure à 20
(sur la ligne), tourner à droite quand le capteur A renvoie une valeur supérieure à 20
et tourner à gauche quand le capteur B renvoie une valeur supérieure à 20.
3. Si on simule le comportement du robot en dessinant la trajectoire provoquée par
l’algorithme, on s’aperçoit qu’il suit une trajectoire « en dent de scies » alternant
des portions rectilignes et des angles. C’est la conséquence des choix effectués de
démarrer et arrêter les moteurs directement en fonction des valeurs des capteurs.
Un programme de suivi de ligne plus réaliste devrait calculer en permanence la
trajectoire prévue, et modifier ses consignes pour prévoir des courbures plus régu-
lières adaptées aux courbures possibles de la ligne à suivre.

Activité 7. La gyroroue
j Activité débranchée.
j Durée estimée : 15 à 30 minutes.

Les dispositifs autostabilisés tels que la gyroroue existent depuis que les cartes à
microcontrôleur sont assez performantes pour corriger la vitesse du moteur suffisam-
ment rapidement pour que la gyroroue se positionne toujours « sous » son conduc-
teur. L’équilibre est dynamique et repose sur un algorithme de contrôle qui adapte
en permanence la vitesse du moteur pour conserver l’équilibre.
L’objectif de cette activité est d’écrire une version élémentaire de cet algorithme de
contrôle.

78

04733675_001-096.indd 78 28/08/2019 12:19


Chapitre 7 Informatique embarquée et objets connectés

1. En utilisant les fonctions proposées, on peut écrire un premier algorithme :


vß0
tant que vrai
si inclinaison_pedale > 0
vßv+1
sinon si inclinaison_pedale < 0
vßv–1
vitesse(v)
Cet algorithme se préoccupe uniquement d’ajuster la vitesse pour tenir la consigne
de conserver une inclinaison nulle de la pédale. En réalité, cet algorithme simplifié
serait dangereux car, d’une part, il peut provoquer un départ dans les deux sens
(vitesse positive ou négative) et, d’autre part, on n’a pas indiqué de limite à la vitesse
qui dans cet algorithme peut augmenter tant que la pédale est inclinée positivement.
Par sécurité, les gyroroues ont toujours une vitesse limite programmée.
2. Les modèles commercialisés de gyroroue ne disposent pas de capteurs de pres-
sion, l’équilibre et la variation de vitesse étant contrôlés simultanément par le gyros-
cope. Les algorithmes utilisés sont complexes, et gardés secrets. Leur principe
consiste à détecter dans les variations du signal du gyroscope les variations courtes
et éphémères correspondant à une perte d’équilibre à compenser et les variations
plus longues correspondant à une intention du pilote d’accélérer ou de ralentir.
On a, pour les besoins de l’exercice, supposé l’existence de deux capteurs différents
pour distinguer les deux comportements. Avec cette hypothèse, l’idée est de faire
varier plus la vitesse si c’est l’intention du pilote que si c’est pour compenser loca-
lement un déséquilibre.
On peut pour en tenir compte écrire une deuxième version de l’algorithme, testant
successivement les deux capteurs, en écrivant par exemple :
vß0
tant que vrai
si inclinaison_pedale > 0
vßv+1
sinon si inclinaison_pedale < 0
vßv–1
si pression_pedale > 0
vßv+2
sinon si pression_pedale < 0
vßv–2
vitesse(v)
Cet algorithme reste théorique. Pour obtenir un algorithme plus réaliste, il faudrait
tenir compte des caractéristiques dynamiques du moteur et de la fréquence de calcul
du processeur pour régler finement l’accélération en fonction des valeurs des capteurs.

Activité 8. Le contrôle d’affichage TECHN


j Activité branché sur contrôleur : carte micro:bit.
j Durée estimée : 15 à 30 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap7_TestMicrobit.py ; Chap7_Act8_TestMicrobit_Solution.py

L’objectif de cette première activité avec le micro:bit est d’obtenir rapidement un


programme embarqué pouvant être exécuté sur la carte. Le programme est non
terminant pour pouvoir réagir en continu aux actions sur les capteurs.
79

04733675_001-096.indd 79 28/08/2019 12:19


Pour faire au plus simple, l’énoncé suggère un affichage sur les DEL en fonction de
l’appui sur les boutons.
Un corrigé possible est donné dans le fichier Chap7_Act8_TestMicrobit_Solution.py.
from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.ARROW_W)
if button_b.is_pressed():
display.show(Image.ARROW_E)
Avec ce programme, la carte affiche sur les DEL une flèche montrant le dernier
bouton qui a été pressé.

Activité 9. Le niveau électronique TECHN


j Activité branché sur contrôleur : carte micro:bit.
j Durée estimée : 30 à 45 minutes.
j Fichiers Python corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap7_Act9_Niveau_Solution_Question1.py ; Chap7_Act9_
Niveau_Solution_Question2.py

L’objectif de cette activité est d’utiliser l’accéléromètre pour en démontrer les usages
possibles et comprendre ainsi son usage dans un smartphone.
L’activité nécessite un rappel de physique sur g, l’accélération de la pesanteur, pour
comprendre qu’au repos, posé à l’horizontale, le capteur renvoie la valeur 1 000 pour
l’accélération verticale et 0 sur les deux autres axes.
Le premier programme a pour objectif de visualiser les valeurs renvoyées par
l’accéléromètre quand on le penche vers la droite ou vers la gauche.
Le programme est donné dans le fichier corrigé Chap7_Act9_Niveau_Solution_
Question1.py
from microbit import *
while True:
ax = accelerometer.get_x()
display.scroll(str(ax))
sleep(100)
À l’exécution, on peut observer une valeur nulle au départ, qui augmente vers 1 000
quand on penche la carte vers la droite, et qui diminue jusqu’à -1 000 quand on la
penche vers la gauche.
2. La 2e question consiste à réaliser un « niveau à bulle » qui allume une des DEL du
tableau selon l’inclinaison de la carte.
Il y a beaucoup de manières de réaliser ce traitement avec des conditionnelles pour
choisir quelle DEL afficher en fonctions des valeurs d’accélération mesurées.
La solution donnée dans le fichier corrigé Chap7_Act9_Niveau_Solution_Question2.py
utilise des calculs de min et de max pour ramener les valeurs entre – 50 et 50, puis
dans l’intervalle entre 0 et 4 pour calculer l’indice de la DEL à allumer.
from microbit import *
while True:
x = max(0, min(4, 2-accelerometer.get_x()//25))
y = max(0, min(4, 2-accelerometer.get_y()//25))
display.clear()
display.set_pixel(x, y, 9)
sleep(10)
À l’exécution de ce programme, la carte allume une des DEL selon son inclinaison.
80

04733675_001-096.indd 80 28/08/2019 12:19


Chapitre 7 Informatique embarquée et objets connectés

Activité 10. Boussole automatique TECHN


j Activité branché sur contrôleur : carte micro:bit.
j Durée estimée : 30 à 45 minutes.
j Fichiers élève et corrigé disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap7_Boussole.py ; Chap7_Boussole_Solution.py

L’objectif de cette activité est de démontrer un usage possible de la boussole. Le


programme fourni affiche le cap de la carte sous forme d’un entier entre 0 et 360.
Le calibrage du compas s’effectue en penchant successivement la carte dans toutes
les directions. Les DEL s’affichent au fur et à mesure de cette opération qui doit être
exécutée au début du programme avant accès à la fonction heading (cap en anglais).
Le programme à réaliser doit afficher une flèche pointant en permanence vers le
nord quand on déplace ou tourne la carte.
Une solution est donnée dans le fichier corrigé Chap7_Boussole_Solution.py.
from microbit import *
compass.calibrate()
while True:
h = compass.heading()
if h < 22:
display.show(Image.ARROW_N)
elif h < 67:
display.show(Image.ARROW_NW)
elif h < 112:
display.show(Image.ARROW_W)
elif h < 157:
display.show(Image.ARROW_SW)
elif h < 202:
display.show(Image.ARROW_S)
elif h < 247:
display.show(Image.ARROW_SE)
elif h < 292:
display.show(Image.ARROW_E)
elif h < 327:
display.show(Image.ARROW_NE)
else:
display.show(Image.ARROW_N)
sleep(10)
La principale difficulté de cette activité tient au caractère relatif de l’indication de cap
fourni par la carte et au calcul d’intervalle à prévoir.
Ainsi ce programme affiche la flèche NW relativement à la carte quand le cap mesuré
est entre 22 et 67 soit autour de la valeur moyenne 45 qui correspond au NE. On
obtient bien une flèche pointant de manière absolue vers le Nord.

Activité 11. Chronomètre numérique TECHN


j Activité branché sur contrôleur : carte micro:bit.
j Durée estimée : 30 à 45 minutes.
j Fichiers corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap7_Act11_Chrono_Solution.py

81

04733675_001-096.indd 81 28/08/2019 12:19


L’objectif de cette activité, un peu plus complexe, est de concevoir un chronomètre
numérique. Cela permet de donner une présentation réaliste de comment peuvent
être réellement programmés des objets numériques quotidiens.
L’activité est guidée pour arriver progressivement à la solution. Le but est de faire
découvrir le niveau de précision qu’il faut donner pour décrire chaque comportement.
Le programmeur doit en effet penser à tout : que doit-il se passer quand on appuie
sur tel bouton alors que le programme était rendu à tel endroit ?
En particulier, ce programme nécessite d’utiliser plusieurs variables, pour se souvenir
du temps, et de l’état du chronomètre (en train de chronométrer ou pas).
Il y a beaucoup de manières de résoudre ce problème.
Une solution est donnée dans le fichier corrigé Chap7_Act11_Chrono_Solution.py
from microbit import *
duree = 0
compte = False
zero = Image("00900:09090:09090:09090:00900")
go = Image("00000:00000:90909:00000:00000")
display.show(zero)
while True:
if button_b.is_pressed():
if compte:
duree = running_time()- debut
display.clear()
else:
debut = running_time()
display.show(go)
compte = not compte
sleep(200)
if button_a.is_pressed():
display.scroll(str(duree/1000))
duree = 0
compte = False
display.show(zero)
Le bouton B est utilisé pour démarrer et arrêter le chronomètre. Le bouton A est
utilisé pour afficher la durée et réinitialiser le chronomètre.
Une variable compte est utilisée pour noter si le chronomètre est en train de compter
ou pas, ce qui est indispensable pour savoir ce que doit faire le bouton B (démarrer
si le chrono est arrêté, ou l’arrêter s’il est démarré).
La variable debut permet de noter le temps au début pour ensuite calculer la variable
duree au moment de l’arrêt du chronomètre.

Analyse et débats
L’importance des enjeux des systèmes embarqués et des objets connectés tient à la
fois à leur grand nombre et à la place qu’ils occupent au cœur de nombreux systèmes.

Enjeu 1. Sécurité des systèmes embarqués


jLa sécurité des systèmes embarqués est critique dans le sens où un défaut peut avoir
des conséquences très graves. La preuve des programmes est possible mais demande
un tel travail que cela n’est réellement effectué que pour les systèmes les plus critiques
82

04733675_001-096.indd 82 28/08/2019 12:19


Chapitre 7 Informatique embarquée et objets connectés

(nucléaire, spatial, transports). Les documents proposés à l’étude montrent l’écart


entre les systèmes industriels les plus critiques et les objets connectés grand public.

Enjeu 2. Responsabilité des systèmes embarqués


jLa question de la responsabilité des machines n’a pas encore été réellement arbi-
trée au niveau juridique. Même s’il est attesté que des machines conduisent des
avions, des trains ou des voitures moins mal qu’un humain, est-on prêt à leur confier
la responsabilité et à qui vient-on reprocher l’accident quand il survient ? Ces ques-
tions peuvent nourrir des débats en classe.
jLa « moral machine » peut aussi être utilisée pour poser quelques questions difficiles.

Enjeu 3. Objets connectés et énergie


jLa question de l’énergie est fondamentale. Mis en avant dans le cadre de la « ville
intelligente », les objets connectés ont été promus pour leur capacité à piloter plus
finement pour économiser de l’énergie, mais leur prolifération entraîne une augmen-
tation de leur consommation propre. Quel est le bilan global ? Il n’y a pas actuelle-
ment de réponse précise à cette question.

Enjeu 4. Objets connectés et matières premières


jLa question des matières premières et des terres rares est aussi un enjeu écolo-
gique majeur. Les objets connectés ont une part importante de responsabilité, en
particulier pour la fabrication des batteries et pour les terres rares utilisées pour leurs
propriétés magnétiques que l’on retrouve dans les accéléromètres et les boussoles.

Pour aller plus loin

Activité 12. Système embarqué avec IHM TECHN


L’objectif de cette activité « Pour aller plus loin » est de réaliser un système embarqué
complet avec son IHM. Pour que cela reste réalisable en un petit nombre de séances,
il convient de garder une ambition modeste. La proposition est de se limiter à ce qui
peut être fait avec les cartes étudiées et les matériels disponibles.
Concernant la carte micro:bit, elle possède, en plus des possibilités utilisées dans
les activités précédentes, la capacité à connecter des entrées / sorties numériques
ou analogiques et dispose d’une connexion radio, ce qui permet de la connecter à
son IHM ou de connecter deux cartes entre elles.
Selon l’organisation de la classe, il peut s’agir d’une activité de groupe, proposée
uniquement aux élèves volontaires.

83

04733675_001-096.indd 83 28/08/2019 12:19


84

04733675_001-096.indd 84 28/08/2019 12:19


Chapitre 8 Photographie numérique

CHAPITRE 8
Photographie numérique
Introduction
Ce domaine est caractéristique de ce que l’informatique a révolutionné dans le traite-
ment des informations en les numérisant. Pour comprendre la photographie numé-
rique, il faut d’abord découvrir les principes de codage des couleurs et des images
numériques. La compréhension de la manière dont sont enregistrées les images et
de la facilité de leur manipulation permet d’éclairer les enjeux sociétaux multiples
de la diffusion massive de la photographie numérique.

Activités de découverte
Les activités proposées alternent des activités sur ordinateur avec un logiciel de
retouche d’image et des activités débranchées. Ces premières découvertes sont
nécessaires avant de se consacrer à la manipulation d’images par programme.

Activité 1. Un site à explorer : GIMP


j Activité branchée nécessitant une connexion à internet : exploration d’un site
emblématique du thème étudié.
j Adresse du site : https://docs.gimp.org/2.10/fr/

Le site à découvrir en autonomie est le site de documentation du logiciel de manipu-


lation d’image le plus populaire mais également le plus performant : GIMP.
Les questions guident les élèves vers la notion de calque dont la compréhension est
un préalable à l’usage de tout logiciel de manipulation d’images. En effet, le prin-
cipe, y compris pour un simple copier-coller d’une partie d’image, consiste à placer
les parties sur des calques différents et à les superposer.
Cette notion peut être rapprochée de la notion de couche utilisée en cartographie.
La dernière question propose de rechercher comment changer la taille d’une image.
C’est en effet une compétence indispensable de savoir redimensionner l’image d’un
appareil photo pour l’adapter au support utilisé jactivité 4 p. 155.

Activité 2. Codage d’une image


j Activité débranchée.
j Durée estimée : 30 minutes.

L’objectif de cette activité débranchée est de réfléchir aux représentations possibles


d’une image en noir et blanc. D’autres activités de même type sont disponibles sur
le site Computer Science Unplugged (à l’adresse : https://csunplugged.org) qui a
contribué à la vulgarisation des activités d’informatique sans ordinateur.

85

04733675_001-096.indd 85 28/08/2019 12:19


Partie 1. Blanc, noir, noir, blanc, blanc...
L’activité peut être réalisée en binômes. Chaque élève dessine, code, transmet son
image codée et décode l’image codée par son binôme. Le choix d’une taille d’image
est un compromis. La proposition de travailler avec des images 13 × 13 permet
d’avoir des codages assez longs pour que la question de leur compression devienne
rapidement une nécessité. Traiter à la main des images plus grandes deviendrait
rapidement très fastidieux.
On peut aussi laisser libre le format de l’image, pour faire prendre conscience de la
nécessité de transmettre le format avec l’image codée.
Il peut être nécessaire de préciser que les codes d’images doivent être transmis en
une seule série de 0 et de 1, et que c’est au destinataire de recomposer l’image en
découpant en lignes et en interprétant les 0 et les 1.
Parmi les erreurs attendues au moment de décoder l’image, on remarquera qu’une
erreur sur un point décale toute la suite ; on obtiendra aussi parfois le négatif de
l’image initiale si la convention de codage (0/1 pour noir/blanc) n’a pas été négociée.
Partie 2. Un blanc, deux noirs, deux blancs...
De nombreux codages sont possibles. Par exemple, on peut coder une suite de
12 points blancs suivis de 5 points noirs, par la suite : 1 12 0 5 ou en simplifiant par
les nombres : 12 5, ce qui suffit à condition d’avoir posé la convention que le code
commence par le nombre de blancs.
Si une image commence par un noir alors son code commencera par un 0 pour signi-
fier qu’il y a 0 blancs.
Ces subtilités font qu’il est indispensable que les élèves se concertent sur la défini-
tion de leur codage pour réussir à décoder les images transmises.
Partie 3. Bataille navale
Cette troisième technique de codage n’est intéressante que s’il y a peu de points noirs.
On transmet en effet la suite des coordonnées de ces points.
Le bilan de cette activité peut prendre appui sur les images dessinées par les élèves.
Selon les images, l’un des codages est plus compact. Le plus compact n’est pas néces-
sairement le plus facile à coder et à décoder. C’est donc une affaire de compromis...
Cette question est tout à fait générale en traitement d’images. Par exemple, le format
JPEG permet d’obtenir une compression importante, mais au prix d’un algorithme de
codage et de décodage très complexe. C’est d’ailleurs la raison pour laquelle il n’en est
pas question dans ce manuel autrement que pour citer le nom de ce format très populaire.

Activité 3. Pixel Art en noir et blanc


j Activité branchée sur poste informatique.
j Durée estimée : 30 minutes.
j Logiciel utilisé : GIMP disponible en téléchargement à l’adresse :
https://www.gimp.org/downloads/

L’objectif de cette activité d’observation est de donner à voir, pour une image très
simple, la manière dont les informations sont réellement enregistrées sur ordinateur.
Partie 1. Image noir & blanc
Pour que le codage d’une image fabriquée par un logiciel de traitement d’images
soit compréhensible par un lecteur humain, il faut que sa taille soit limitée et que le
format choisi soit compréhensible et donc le moins compressé possible.
86

04733675_001-096.indd 86 28/08/2019 12:19


Chapitre 8 Photographie numérique

C’est la raison pour laquelle on a choisi dans cette activité de faire créer une image
de taille 20 × 20 et de la faire enregistrer au format PBM Ascii.
À ces conditions, on peut observer, avec un simple éditeur de texte, le codage de
l’image et identifier les nombres 20 et 20 ainsi que les 400 chiffres 0 ou 1 qui codent
les points de l’image.
Partie 2. Photo noir & blanc
Si on enregistre une photographie couleur avec ce même format PBM Ascii, on ne
conserve que des pixels noirs et blancs car c’est tout ce que ce format permet de
mémoriser.
En l’ouvrant avec un logiciel d’aperçu ou de visualisation, on constate que la photo-
graphie est passée en noir et blanc.
En l’ouvrant avec un éditeur de texte, on peut repérer au début du fichier la largeur
et la hauteur de l’image, puis une suite de 0 et de 1, qui pourrait être très longue s’il
y avait plusieurs millions de pixels dans la photographie utilisée (largeur × hauteur).

Activité 4. Photographies en vignette


j Activité branchée sur poste informatique.
j Durée estimée : 30 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap8_chat.jpg ; Chap8_chat2.jpg ; Chap8_chat3.jpg ;
Chap8_chat4.jpg ; Chap8_chat5.jpg

L’objectif de l’activité est de faire découvrir le rapport entre la définition d’une image
(sa largeur × sa hauteur) et la taille du fichier.
Le déroulement de l’activité est guidé pour obtenir une série de 5 fichiers de défini-
tion décroissante obtenue en divisant à chaque fois par deux la largeur de l’image.
Même si c’est un peu fastidieux, il faut à chaque fois repartir de la dernière image
exportée pour fabriquer la suivante.
Remarque : on n’utilisera pas le format interne de GIMP car celui-ci permet de
mémoriser les versions successives en cours d’édition, ce qui perturbe l’analyse en
terme de taille de fichier.
Quand on observe ensuite les tailles de fichier, on constate que les tailles des fichiers
sont approximativement divisées par quatre à chaque étape. Le rapport est approxi-
matif car la compression JPG utilisée est plus ou moins efficace selon les photogra-
phies utilisées et leur définition.
Quand on utilise un outil de visualisation d’images à l’écran, on ne voit aucune diffé-
rence entre les premières images jusqu’à ce que la largeur de l’image soit inférieure
à la taille de l’écran. Ensuite, on peut constater une perte de précision due au fait
qu’un pixel de l’image se trouve répliqué sur plusieurs pixels de l’écran entraînant
un effet de « pixellisation ».
La conclusion de l’activité est qu’il est utile de redimensionner les photographies
destinées à un usage à l’écran (web ou diaporama) à une définition juste supérieure
à la résolution de l’écran et que cela permet réduire la taille des fichiers d’un facteur
important (16 fois plus petit si on a divisé par quatre la largeur).

87

04733675_001-096.indd 87 28/08/2019 12:19


Cours
La première partie sur les couleurs est nécessaire pour comprendre les codages des
images. On se restreint au codage pixel par pixel, dont on montre la limite en terme
de taille de fichier.
Pour permettre aux élèves d’atteindre la capacité à « traiter par programme une image
pour la transformer en agissant sur les trois composantes de ses pixels », il est indis-
pensable de poser des hypothèses simplificatrices sur le choix des formats à traiter.
La photographie numérique est traitée uniquement d’un point de vue descriptif.
La complexité des algorithmes en jeu empêche de les décrire avec précision. On
focalise donc l’attention sur leurs grandes fonctions pour identifier les étapes de la
construction de l’image : mise au point, exposition, réglage des couleurs.
Les métadonnées, déjà étudiées au chapitre 5, sont précisées dans le cas des
photographies.

Activités d’application
Une première activité sans ordinateur permet de revenir sur les calculs de définition
et de résolution déjà explorés avec l’activité 4.
Les activités suivantes se partagent entre activités « numériques » pour traiter des
images au niveau utilisateur avec des logiciels spécifiques, et activités « informa-
tiques » où il est question de traiter des images par un programme.

Activité 5. Définition et résolution


j Activité débranchée.
j Durée estimée : 30 minutes.

L’objectif de cette activité est de conclure le travail engagé avec l’activité 4 en utilisant
maintenant le vocabulaire spécialisé : pixel, définition, résolution.
Une des difficultés est justement d’employer correctement ce vocabulaire, sachant
que les notions de définition et de résolution sont souvent confondues.
Partie 1. Affichage des photographies à l’écran
1. Avec 3 octets par pixel pour une image de définition 4 096 × 3 072, la taille du fichier
non compressé au format PPM est de 37,75 Mo.
2. En divisant chacune de ses dimensions par quatre, on peut obtenir une image de
définition 1 024 × 768 de taille : 2,36 Mo. Le facteur de réduction est de : 16.
Partie 2. Impression des photographies
1. Pour utiliser au mieux une imprimante de résolution 300 ppp, on peut imprimer
la photo à une dimension maximale en pouces de : 4 096 × 3 072 soit 13,6 × 10,24
300 300
pouces, soit 34,6 × 26 cm. C’est donc suffisant pour impression sur une feuille A4
paysage de 29,7 cm × 21 cm.
Attention : la photographie est en format 4/3 donc ne pourra être imprimé au plus
que sur un format 28 × 21 cm.

88

04733675_001-096.indd 88 28/08/2019 12:19


Chapitre 8 Photographie numérique

2. Si on imprime une photographie de définition 1 024 × 768 au format 12 × 9 cm


soit 4,72 × 3,54 pouces, cela correspond à une résolution de : 1 024 = 216 ppp.
4,72
3. Si on veut imprimer une photographie au format 12 × 9 cm avec une résolution
de 300 ppp, il faut une définition minimale de : 1 420 × 1 065. Les valeurs sont arron-
dies pour obtenir des valeurs entières avec un rapport entier de 4/3.

Activité 6. Métadonnées des photos


j Activité branchée sur poste informatique.
j Durée estimée : 15 à 30 minutes.
j Fichier élèves disponible sur site compagnon et Bibliomanuel :
Poste informatique. Chap8_chat.jpg

Cette activité a pour objectif d’explorer les métadonnées associées à une photogra-
phie et pourra être poursuivie par l’étude de l’enjeu sur le droit à l’image.
Sans utiliser de logiciel spécifique, en explorant seulement les propriétés du fichier,
on peut sans difficulté obtenir largeur, hauteur, date et heure du cliché, marque et
modèle de l’appareil photo, conditions d’exposition et de prise de vue et localisa-
tion géographique de la prise de vue si ces informations ont bien été enregistrées et
n’ont pas été effacées.
Remarque : avec l’image fournie du chat (Chap8_chat.jpg) d’un des auteurs de ce
manuel, prise dans son jardin, on comprendra pourquoi le lieu de prise de vue a été
effacé des métadonnées : pour des raisons de confidentialité ! Avec des photogra-
phies d’élèves prises avec leur smartphone, beaucoup d’informations peuvent être
disponibles.

Activité 7. Des couleurs avec GIMP


j Activité branchée sur poste informatique.
j Durée estimée : 30 à 45 minutes.

L’objectif de cette activité est de mieux comprendre le codage des couleurs par la
manipulation des outils du logiciel GIMP. Il suffit de cliquer sur la couleur actuelle
pour accéder à l’outil de modification de couleur.
Partie 1. Nouvelle image
1. En mode RGB (Rouge / Vert / Bleu) la synthèse des couleurs est additive.
Par exemple, il faut déplacer au maximum les curseurs vert et rouge pour obtenir
du jaune.
2. Avec les trois couleurs au maximum, on obtient le blanc.
Avec les trois couleurs au minimum, on obtient du noir.
Avec les trois couleurs à la même valeur, on obtient toujours du gris variant du noir
au blanc.
3. Avec le codage HSV (qui est une variante de TSL : Teinte Saturation Lumière) utilisé
par GIMP, si on positionne la saturation S et la valeur V à 100 %, on peut faire varier
la teinte avec le curseur H. La teinte varie de 0 à 360° sur le cercle chromatique du
rouge au rouge en passant par toutes les couleurs de l’arc-en-ciel : rouge, orange,
jaune, vert, bleu, indigo, violet.

89

04733675_001-096.indd 89 28/08/2019 12:19


4. Pour une teinte donnée, si on fait varier la saturation, on passe d’une couleur terne
(gris) à une couleur plus vive ou pure.
Quand la saturation est à 0, c’est toujours gris : c’est d’ailleurs une des méthodes pour
passer une image couleur en niveaux de gris (voir la troisième partie de l’activité).
5. Pour une teinte donnée, si on fait varier la valeur, on passe du noir quand la valeur
est à 0 à une teinte de plus en plus lumineuse ou brillante.

Partie 2. Modification d’une photographie


L’usage de la est indispensable en retouche d’image. Cela permet de saisir
la valeur exacte de la couleur en un point de l’image pour la réutiliser dans un outil
de dessin au crayon ou au pinceau.
En retouche d’image, il n’a pas de gomme pour effacer un détail, on dessine dessus
avec la couleur des pixels voisins.

Partie 3. Passage en niveaux de gris


La désaturation consiste à passer la saturation à 0 pour transformer toutes les
couleurs en niveaux de gris. Les différentes options disponibles diffèrent par rapport
à la manière de calculer le niveau de gris en fonction des couleurs.
En utilisant l’algorithme de la moyenne, les trois composantes RVB d’une couleur
ont le même poids pour calculer le niveau de gris.
En particulier, les trois couleurs pures rouge, vert et bleu seront transformées en la
même valeur de gris.
Les autres méthodes correspondent à des pondérations différentes basées sur la
perception de couleurs. Le vert sera alors transformé en un gris plus clair que le
rouge, qui sera aussi transformé en un gris plus clair que le bleu.

Activité 8. Le négatif d’une image N & B


j Activité branchée sur poste informatique.
j Durée estimée : 30 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap8_Negatif.py ; Chap8_smiley.pbm ; Chap8_chatnoir.pbm ;
Chap8_Negatif_Solution_Question2.py ; Chap8_Negatif_Solution_Question3.py

Cette activité est un premier exemple de programme Python de traitement élémen-


taire d’une image pixel par pixel qui consiste à fabriquer le négatif d’une image noir
et blanc.
1. Le programme Python fourni contient déjà toutes les instructions pour lire pixel
par pixel le fichier Chap8_smiley.pbm et pour réécrire un nouveau fichier nommé
Chap8_negatif.pbm.
Après exécution, le nouveau fichier est créé dans le même répertoire et contient une
copie conforme de l’image donnée.
2. La tâche de l’élève consiste donc seulement à remplacer l’instruction d’écriture
dans le nouveau fichier par le traitement permettant de calculer le pixel du négatif.
Une solution est donnée dans le programme corrigé :
Chap8_Negatif_Solution_Question2.py.

90

04733675_001-096.indd 90 28/08/2019 12:19


Chapitre 8 Photographie numérique

f = open("Chap8_smiley.pbm", "r")
g = open("Chap8_negatif.pbm", "w")
entete = f.readline()
g.write(entete)
definition = f.readline()
g.write(definition)
largeur,hauteur = definition.split(" ")
largeur = int(largeur)
hauteur = int(hauteur)
for lig in range(hauteur):
for col in range(largeur):
pix = f.read(1)
if pix == '0':
g.write('1')
else:
g.write('0')
f.read(1)
g.write('\n')
f.close()
g.close()
3. Pour appliquer le traitement à un autre fichier, il suffit de modifier les premières
lignes du programme avec les ouvertures des fichiers :
f = open("Chap8_chatnoir.pbm", "r")
g = open("Chap8_chatblanc.pbm", "w")
L’exécution de ce programme modifié crée un nouveau fichier Chap8_chatblanc.pbm
avec l’image du chat en négatif.
La structure générale du programme est donnée car c’est toujours la même pour
lire un fichier d’un format donné. Il est recommandé de ne pas la modifier, car s’il
manque une partie du traitement ou si on ne lit pas correctement la largeur et la
hauteur, la suite de la lecture va inévitablement provoquer une erreur d’exécution si
on tente de lire un autre caractère alors que le fichier est déjà terminé.

Activité 9. Couleurs et niveaux de gris


j Activité branchée sur poste informatique.
j Durée estimée : 30 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap8_RGB2Bleu.py ; Chap8_chat.jpg ; Chap8_RGB2Vert_
Solution_Question3.py ; Chap8_RGB2Gris_Solution_Question4.py

Cette activité utilise PIL, qui est une bibliothèque Python spécialisée dans le trai-
tement d’images. Il convient évidemment de vérifier au préalable que cette biblio-
thèque a bien été installée.
Cette bibliothèque permet de simplifier la lecture d’une image en proposant des fonc-
tions d’accès aux images compatibles avec différents formats, dont le JPG, pour ainsi
traiter des images en couleurs.
Cela ne modifie pas beaucoup l’algorithme général de traitement d’une image qui
contient toujours l’ouverture de l’image, l’obtention de sa largeur et de sa hauteur, puis

91

04733675_001-096.indd 91 28/08/2019 12:19


deux boucles imbriquées pour parcourir ligne à ligne les pixels de l’image. L’écriture
de l’image résultat du traitement s’effectue par des instructions spécifiques permet-
tant de positionner les pixels un par un puis de sauvegarder le résultat dans un fichier.
1. Le programme Chap8_RGB2Bleu.py lit le fichier image Chap8_chat.jpg et fabrique
une nouvelle image dans le fichier Chap8_chatbleu.jpg.
2. On constate effectivement que la nouvelle image est toute bleue. En effet, le
programme n’a réécrit dans la nouvelle image que la composante bleue de l’image
donnée en remplaçant pour chaque pixel le triplet (r,g,b) par (0,0,b).
3. Pour effectuer un traitement analogue en ne gardant que le vert, il suffit de modi-
fier le programme comme dans le fichier Chap8_RGB2Vert_Solution_Question3.py :
from PIL import Image
im = Image.open('Chap8_chat.jpg')
largeur = im.size[0]
hauteur = im.size[1]
im2 = Image.new('RGB', (largeur,hauteur))
print(largeur,hauteur)
for lig in range(hauteur):
for col in range(largeur):
(r,g,b) = im.getpixel((col,lig))
im2.putpixel((col,lig), (0,g,0))
im2.save('Chap8_chatvert.jpg')
4. Pour générer une image en niveaux de gris, on peut utiliser l’algorithme de la
moyenne qui a l’avantage d’être très facile à programmer : il suffit de calculer la
moyenne des trois composantes rouge, vert et bleu et d’attribuer cette valeur aux
trois composantes. Une solution est donnée dans le programme corrigé : Chap8_
RGB2Gris_Solution_Question4.py
from PIL import Image
im = Image.open('Chap8_chat.jpg')
largeur = im.size[0]
hauteur = im.size[1]
im2 = Image.new('RGB', (largeur,hauteur))
print(largeur,hauteur)
for lig in range(hauteur):
for col in range(largeur):
(r,g,b) = im.getpixel((col,lig))
gris = (r+g+b)//3
im2.putpixel((col,lig), (gris,gris,gris))
im2.save('Chap8_chatgris.jpg')
C’est encore le même programme de traitement d’image, dont on a seulement
modifié la partie calculant les trois valeurs identiques des composantes des pixels
de la nouvelle image.

92

04733675_001-096.indd 92 28/08/2019 12:19


Chapitre 8 Photographie numérique

Analyse et débats
Copier à coût quasiment nul et pouvoir modifier une information facilement sont
deux caractéristiques du passage au numérique qui ont fortement impacté la photo-
graphie. C’est une partie des causes des enjeux actuels.
Poser les enjeux nécessite des réflexions sur le long terme à la fois pour les ques-
tions de droit à l’image et pour la question spécifique de l’archivage.

Enjeu 1. Le prix de la gratuité des photos numériques


jLes documents proposés permettent de s’interroger sur le coût réel des photo-
graphies, leur nombre, leur stockage à long terme et les impacts environnemen-
taux de ce stockage.
jUn recueil de données dans la classe sur le nombre de photographies prise par
chacun pendant une durée donnée peut être instructif et permettre de situer des
pratiques individuelles dans un enjeu plus global.

Enjeu 2. Photographie numérique et droit à l’image


jLe droit à l’image et le droit des données personnelles se conjuguent pour encadrer
la publication de photographies où des personnes sont identifiées. Cependant, l’explo-
sion des pratiques de partage et d’identification des personnes photographiées rend
le droit applicable peu opérant. Les premiers concernés sont-ils réellement informés
de leurs droits et de leurs devoirs ? La question mérite d’être posée.
jLes conditions générales et les paramétrages des réseaux utilisés sont aussi une
source de réflexion et de débats.

Enjeu 3. Manipulation de photographies numériques


jLa manipulation de photographie est une pratique ancienne qui demandait à l’époque
un certain savoir-faire quand il fallait découper des négatifs et refaire des tirages. Un
logiciel usuel permet maintenant de faire ces manipulations simplement : supprimer
un dignitaire déchu d’une photo officielle est à la portée de chacun.
jCet enjeu donne matière au débat, peut être alimenté par les contributions des déco-
deurs d’image et est à relier à l’éducation aux médias et à l’information.

Enjeu 4. Photographie numérique et archivage


jParadoxalement, la conservation à durée non déterminée qui semble être la règle
dans le monde numérique ne signifie pas que l’archivage sera pérenne à long terme.
L’obsolescence des supports, des formats ou des logiciels impose de vérifier pério-
diquement que ce qui doit être conservé à long terme, puisse l’être effectivement. La
lecture des règles des bibliothèques et des services d’archives est instructive à ce sujet.
jIl n’est pas certain que ce sujet passionne les lycéens, nés à l’époque du numérique…
Une traduction plus personnelle peut les interpeller plus directement. Sauraient-ils
retrouver une photo numérique de leur naissance ? Si oui, dans quel format est-elle
enregistrée ?
93

04733675_001-096.indd 93 28/08/2019 12:19


Pour aller plus loin

Activité 10. Extraction de contours


j Activité branchée sur poste informatique.
j Durée estimée : 45 minutes.
j Fichiers élèves et corrigés disponibles sur site compagnon et Bibliomanuel :
Poste informatique. Chap8_RGB2Bleu.py ; Chap8_Sauzon.jpg ;
Chap8_Act10_Contours_Solution.py

Cette dernière activité de traitement d’image constitue un défi un peu plus difficile
dans la mesure où le traitement nécessite un parcours plus complexe des pixels de
l’image. En effet, pour détecter les contours, pour chaque pixel de l’image à calculer,
il faut parcourir les huit voisins de l’image donnée pour décider si un contour doit
être marqué à ce point-là.
1. La formule de distance proposée entre deux pixels calcule la somme des carrés
des différences de leurs composantes. Il est peu probable qu’un élève fasse remar-
quer que cette distance n’est pas euclidienne, ce qui n’a aucune importance dans
cette application. Il aurait été inutile de tout convertir en flottant pour calculer une
racine carrée !
2. Le programme de l’activité 9 peut être utilisé comme base de parcours de l’image.
Il faut alors lui ajouter une partie calculant, pour chaque pixel, la somme des distances
à ses huit voisins.
Une solution est proposée dans le fichier : Chap8_Act10_Contours_Solution.py.
def dist(r1,g1,b1, r2,g2,b2):
return((r2-r1)**2 + (g2-g1)**2 + (b2-b1)**2)
from PIL import Image
im = Image.open('Chap8_Sauzon.jpg')
largeur = im.size[0]
hauteur = im.size[1]
im2 = Image.new('RGB', (largeur,hauteur))
print(largeur,hauteur)
for lig in range(1, hauteur-1):
for col in range(1, largeur-1):
(r,g,b) = im.getpixel((col,lig))
d = 0
for i in range(-1,2):
for j in range (-1,2):
(rv,gv,bv) = im.getpixel((col+i,lig+j))
d += dist(r,g,b,rv,gv,bv)
if d > 2000:
im2.putpixel((col,lig), (0,0,0))
else:
im2.putpixel((col,lig), (255,255,255))
im2.save('Chap8_SauzonContours.jpg')

94

04733675_001-096.indd 94 28/08/2019 12:19


Chapitre 8 Photographie numérique

La double boucle notée en gras permet d’énumérer les 9 pixels voisins en ajoutant
– 1, 0 ou 1 aux indices de ligne et de colonne du pixel à étudier et d’additionner leurs
distances de couleur avec ce pixel.
Au lieu de tester la moyenne des 8 par rapport au seuil de 250, on a simplifié en
comparant directement la somme à 2 000.
Selon le résultat de la comparaison, un pixel noir (0,0,0) ou un pixel blanc (255,255,255)
est noté dans l’image résultat.
3. Ce programme peut bien sûr être utilisé pour traiter des images au choix.
Selon le résultat, il peut être utile de régler la valeur de seuil de détection de contours.

95

04733675_001-096.indd 95 28/08/2019 12:19


Édition : Malik Agina
Direction artistique : Pierre Taillemite
Conception graphique : Nicolas Piroux
Couverture : Frédéric Jély

Réalisation : 
Fabrication : Jean-Philippe Dore

04733675_001-096.indd 96 28/08/2019 12:19

Vous aimerez peut-être aussi