Table of Contents
1. Introduction 1.1
1. Objectifs 1.1.1
2. Enseignant 1.1.2
2. Contenu 1.2
1. Semaine 01 - Syllabus 1.2.1
2. Semaine 02 - Histoire 1.2.2
3. Semaine 03 - UNIX 1.2.3
4. Semaine 04 - Python 1 1.2.4
5. Semaine 05 - Python 2 1.2.5
6. Semaine 06 - Python 3 1.2.6
7. Semaine 07 - Python 4 1.2.7
8. Semaine 08 - Relâche 1.2.8
9. Semaine 09 - SQL 1 1.2.9
10. Semaine 10 - SQL 2 1.2.10
11. Semaine 11 - Visualisation 1 1.2.11
12. Semaine 12 - Visualisation 2 1.2.12
13. Semaine 13 - Visualisation 3 1.2.13
14. Semaine 14 - Tutorat 1.2.14
15. Semaine 15 - Présentations 1.2.15
3. Travaux 1.3
4. Annexes 1.4
1. Politique #16 1.4.1
2. Règlement #18 1.4.2
3. Politique #23 1.4.3

2

Introduction

Introduction
EDM5240
Technologies de l'information appliquées au journalisme - Session
d'automne 2016
Ce syllabus est accessible en ligne à partir de l'URL jhroy.gitbooks.io/edm5240-a2016/
Certains éléments de ce document, dans ses versions en ligne ou PDF, sont en anglais. Veuillez
m'en excuser, je n'ai pas trouvé la façon de les franciser sur le service dont je me suis servi pour
le diffuser.

L'informatique est partout. Dans le creux de vos mains. Au bout de vos doigts. Du matin jusqu'au
lendemain, vos vies dépendent d'interminables suites de 0 et de 1 enregistrées sur des supports
numériques. Vos choix de cours, votre compte de banque, votre dossier médical, les contrats de votre
municipalité, votre journal, votre Facebook ont tous le même point commun: ce sont des bases de
données.

L'information, aujourd'hui, se trouve dans des bases de données et y puiser est de plus en plus
considéré comme une compétence fondamentale du métier. Les « news-getters » de demain sont ceux
qui seront capables d'aller chercher l'information numérique là où elle se trouve.

Ce cours va vous y aider en vous montrant quelques-unes des technologies de l'information qui
peuvent être appliquées au journalisme.
Il aurait pu s'intituler « Journalisme de données ». Mais nous craignions que cette appellation
vieillisse mal, un peu comme « Journalisme assisté par ordinateur », qui fait très 1990.

Le contenu de ce cours, en fait, colle davantage à ce qu'on appelle, dans le monde anglo-saxon, du
Computational journalism. C'est l'application de l'informatique au journalisme. Ce syllabus même est
un exemple de ce qu'on peut faire avec ces technologies. Il repose sur un système appelé git, qui
permet de collaborer à plusieurs sur un même projet. C'est l'une des nombreuses technologies que l'on
verra au cours de la session.

3

Objectifs Objectifs Objectifs du cours L'objectif principal de ce cours est donc de vous initier aux techniques et technologies utiles dans le journalisme informatique. grâce à différents outils en ligne dont se servent plusieurs médias. ou « de données ». incluant dans un nombre de plus en plus important de médias au Québec. Comment analyser d'imposantes bases de données en vous servant de MySQL. Plus concrètement. tel qu'il est actuellement pratiqué partout dans le monde. vous apprendrez : Les principes fondamentaux de la programmation avec le langage Python. À faire des visualisations simples. 4 .

Enseignant Enseignant Enseignant Nom Jean-Hugues Roy Local J-4185 Courriel roy. 514/987-3000. 6102 Cell 514/778-6102 Twitter @jeanhuguesroy Local du cours J-4315 Horaire du cours Mercredi. de 14h00 à 17h00 Du 7 septembre au 14 décembre 2016 5 .jean-hugues@uqam.ca Tél.

Python 3 07 19 oct. En passant - histoire de vérifier si vous lisez réellement ce syllabus - si vous trouvez le clin d'œil générationnel que j'ai caché dans sa version en ligne. On abordera cependant les plus importants. Tutorat Travail final + 15 14 déc. Intro à UNIX 04 28 sept. Syllabus 02 14 sept. En voici le résumé dans un magnifique tableau : # Date Contenu Travail à faire ou à remettre (s'il y a lieu) 01 7 sept. Présentations Making-of Le graphique ci-dessous montre tous les outils mentionnés par des journalistes informatiques québécois lors d'entrevues que j'ai réalisées en 2015. Python 2 06 12 oct. prévenez-moi par courriel et hop! deux points boni seront ajoutés à votre total à la fin de l'année. Python 4 Script python. Visualisation 1 12 23 nov. Histoire du « journalisme quantitatif » Abonnement à Cloud9 03 21 sept. Python 1 05 5 oct. Visualisation 2 13 30 nov.Contenu Contenu Calendrier Dans les prochaines pages. voici le graphique dont je parlais : 6 . tel un « easter egg ». on verra comment le cours est structuré et comment la matière sera dispensée au fil des semaines. donc. Visualisation 3 14 7 déc. Or. SQL 1 10 9 nov. Il est impossible de les voir tous. 08 26 oct. Semaine de relâche abonnement à Github et installation de SQL 09 2 nov. SQL 2 11 16 nov.

Contenu 7 .

ce que vous êtes curieux d'apprendre et je vais tenter de vous aider. c'est qu'au fur et à mesure qu'on va avancer dans le cours. Mon objectif. aussi. Je ne veux pas vous assomer. L'avantage. Je veux vous accompagner sur la route du journalisme informatique. mais je compte également sur vous pour me dire quelles sont vos attentes. J'ai souvenir que certains étudiants avaient beaucoup de difficulté à suivre.. c'est de vous fournir des outils qui. J'ai déjà donné des éléments de journalisme informatique dans un cours appelé Initiation au technologies numériques (EDM5050). Qui plus est. Vous aurez en quelque sorte été « initiés » dans la première moitié de la session. j'ose le croire. vous serviront durant toute votre vie professionnelle. Retour au calendrier 8 . qui ne fait plus partie du programme de journalisme. la matière devrait progressivement devenir moins compliquée. Je vais pousser les apprentissages assez loin. Reste que les deux tiers du contenu de ce cours sont donnés pour la première fois cette session-ci. J'ai confiance que vous pourrez y arriver. Je vais tâcher d'adapter mon rythme au vôtre. on va commencer par ce qu'il y a de plus difficile. Dites-moi si le rythme est trop intense (ou trop lent). Dites-moi.. même si vous choisissez de faire autre chose que du journalisme.Semaine 01 - Syllabus Semaine 01 - Syllabus Cours 01 - Le syllabus 7 septembre 2016 J'y décrirai le syllabus.

étapes qui structurent le contenu de ce cours. Retour au calendrier 9 . comme le montre ce graphique des pertes de l'armée de Napoléon au cours de la campagne de Russie. nord-américains et européens. Dans ce deuxième cours. réalisé en 1869. Je vous demanderai de m'en montrer. également! On verra enfin les différentes étapes du journalisme informatique. On verra notamment que cette pratique remonte au XIXe siècle.Semaine 02 - Histoire Semaine 02 - Histoire Cours 02 - L'histoire du journalisme quantitatif 14 septembre 2016 Même si le journalisme informatique est une pratique récente. il s'inscrit dans une longue histoire de ce qu'on peut appeler le « journalisme quantitatif ». je vous montrerai aussi quelques exemples québécois.

Semaine 03 - UNIX Semaine 03 - UNIX Cours 03 - UNIX 21 septembre 2016 Avec son interface héritée de l'époque de vos grands-parents. entre autres: cd ls cat grep curl wget Comme ce n'est pas tout le monde qui a accès à un ordinateur MacOSX et à son application Terminal (illustrée ci-dessus). Il nous permettra d'avoir tous le même environnement. j'avoue qu'UNIX est à première vue complètement rébarbatif. C'est pourtant un outil puissant qui aide encore de nombreux journalistes dans leurs tâches de tous les jours. 10 . dont. nous allons nous servir d'un outil en ligne très bien fait appelé Cloud9. ce qui sera utile tout au long de la session. On va y voir les commandes les plus utiles dans le métier que vous avez choisi.

Semaine 03 - UNIX Retour au calendrier 11 .

On va commencer par les concepts de base: variables et types de variables listes et dictionnaires boucles et conditions Retour au calendrier 12 . nous allons nous tremper les orteils dans le langage de programmation Python).Semaine 04 - Python 1 Semaine 04 - Python 1 Cours 04 - Python 1 28 septembre 2016 À partir de votre compte sur Cloud9.

Semaine 05 - Python 2 Semaine 05 - Python 2 Cours 05 - Python 2 5 octobre 2016 On poursuit notre apprentissage de python: lecture et écriture de fichiers interaction avec des API Retour au calendrier 13 .

14 . Julien Dupré. Ce qu'on appelle en anglais du scraping peut être traduit en français par du moissonnage. comme import. Saint-Louis (MO). Musée Mildred Lane Kemper.Semaine 06 - Python 3 Semaine 06 - Python 3 Cours 06 - Python 3 12 octobre 2016 La moisson. 1882. Washington University. On va rapidement voir des outils simples pour moissonner des données.io.

Retour au calendrier 15 .Semaine 06 - Python 3 Mais on va s'y mettre surtout à l'aide de la bibliothèque Python BeautifulSoup.

Semaine 07 - Python 4 Semaine 07 - Python 4 Cours 07 - Python 4 19 octobre 2016 On termine par quelques exercices avec Python en vue du travail pratique à remettre après la traditionnelle semaine non-officielle de soi-disant relâche (description du travail à la prochaine page). On va également apprendre les bases du système git. Ce fork vaut à lui seul 5 autres magnifiques points! 16 . Je vais vous demander de vous abonner à Github et de faire un « fork » de mon répertoire EDM5240.

Image: Professortocat. par James Kang Retour au calendrier 17 .Semaine 07 - Python 4 ATTENTION Il y a autre chose que j'attends de vous durant cette semaine-là. Voir la page suivante.

votre installation dépendra du type d'ordinateur que vous avez.. Sous WINDOWS: Installez MySQL en suivant les instructions se trouvant ici (en inglés. Plus de détails dans la section Travaux. Je vais automatiquement « forker » votre « repo » à 23h59 le 31 octobre. reconnaissable par l'icône ci-dessous (si l'utilitaire ne s'installe pas automatiquement.). Assurez- vous de cocher l'option vous permettant d'installer également un utilitaire appelé MySQL Workbench. vous pouvez aller le chercher à partir de sa page de téléchargement): 18 . discúlpame.Semaine 08 - Relâche Semaine 08 - Relâche Semaine de relâche 26 octobre 2016 Deux activités durant la relâche. Tombée: Avant 23h59. je vais vous demander d'installer MySQL sur votre ordinateur. Ce qu'il contiendra sera votre travail. Pour me remettre votre script. 2 Pour se faciliter la vie dans les cours suivants. Mais ATTENTION.. le 31 octobre 2016. créez sur votre compte Github un « repo » appelé EDM5240. rédigez un script python qui fait du moissonnage de données directement sur un site web ou par le biais d'un API. 1 D'abord.

. par exemple.) Retour au calendrier 19 . car les activités avec SQL seront un peu plus longues vu que je devrai constamment faire des aller-retour entre la version Windows et la version Mac (les options de MySQL Workbench ne sont pas les mêmes dans les deux versions. un autre utilitaire appelé Sequel Pro (téléchargement).Semaine 08 - Relâche Sous MacOSX: Installez le « Community Server » de MySQL à partir de sa page de téléchargement. Vous aurez également l'option d'utiliser MySQL Workbench. Miam! Un courriel avec une ou des capture(s) d'écran me prouvant que vous avez installé ces logiciels vaut 5 points si vous me l'envoyez avant le 31 octobre! Re-miam! Notez qu'à ce stade. On le reconnaît par son icône ressemblant à une pile de crêpes avec du beurre fondu.. Mais je préfère. de loin. Je vous demande de procéder à ces installations au préalable. Je vous demande seulement de les installer. une option importante est absente de la version MacOSX. il n'est pas nécessaire de les faire fonctionner. Rien ne vous interdit d'essayer.

Comment on y importe des données.Semaine 09 - SQL 1 Semaine 09 - SQL 1 Cours 09 - SQL 1 2 novembre 2016 Après avoir vérifié si tout le monde a pu installer MySQL. Les interfaces de MySQL Workbench et de Sequel Pro. Retour au calendrier 20 . on va d'abord voir: Comment une base de données SQL fonctionne.

« Dumper ». disent les spécialistes. des données et des bases de données.Semaine 10 - SQL 2 Semaine 10 - SQL 2 Cours 10 - SQL 2 9 novembre 2016 Les principales commandes du langage SQL: SELECT UPDATE GROUP BY ORDER BY Et si on a le temps: JOIN Comment exporter. aussi. Retour au calendrier 21 .

Semaine 11 - Visualisation 1 Semaine 11 - Visualisation 1 Cours 11 - Visualisation 1 16 novembre 2016 Outils simples de visualisation interactive. Retour au calendrier 22 . dont: Infogr.am Datawrapper Plot.ly Peut-être qu'on aura le temps de voir Tableau.

je vous demanderai quelques minutes pour remplir le formulaire en ligne d'évaluation des enseignements. Retour au calendrier 23 . Mais auparavant.Semaine 12 - Visualisation 2 Semaine 12 - Visualisation 2 Cours 12 - Visualisation 2 23 novembre 2016 Cartographie interactive à l'aide de Carto (autrefois connu sous le nom de CartoDB).

j'aborderai ensuite quelques bibliothèques Python pour faire de l'analyse de données et de la visualisation : 24 . diplômé du programme de journalisme à l'UQAM en 2011 et journaliste de données à L'actualité. il viendra vous faire une démonstration de la bibliothèque de visualisation Data-Driven Documents. écrite en JavaScript.Semaine 13 - Visualisation 3 Semaine 13 - Visualisation 3 Cours 13 - Visualisation 3 30 novembre 2016 Nous aurons l'honneur d'avoir la visite de Naël Shiab. ou D3 pour les intimes. Dans la première moitié du cours. Dans la seconde moitié.

Semaine 13 - Visualisation 3 Matplotlib Pandas Seaborn Voici d'ailleur un exemple de ce que peut faire Seaborn: Retour au calendrier 25 .

Semaine 13 - Visualisation 3 26 .

Je serai cependant disponible durant toute la semaine pour répondre à vos questions sur votre travail final et/ou pour vous épauler dans sa réalisation.Semaine 14 - Tutorat Semaine 14 - Tutorat Semaine 14 - Tutorat 7 décembre 2016 Cette semaine-là.. je donne une séance dans le cours EDM1400 (Méthodologie de la recherche en journalisme) avec les étudiants de première année. Il y a conflit d'horaire puisque ce cours a lieu les mercredis après-midi.. Retour au calendrier 27 .

en moins de 10 minutes. votre projet final.Semaine 15 - Présentations Semaine 15 - Présentations Semaine 15 - Présentations 14 décembre 2016 Vous présentez. Retour au calendrier 28 .

à droite de la page. Projet final Pour votre projet final. Votre script doit : Contenir suffisamment de commentaires pour que je comprenne ce qu'il fait Afficher suffisamment d'information dans le terminal pour qu'on puisse en suivre le déroulement Produire un fichier CSV Vous devez déposer votre script (fichier . d'un reportage télé ou d'un reportage web.c9. le 23 octobre 2016. 29 . le 18 octobre 2016. en haut. Tombée : avant 23h59 le 31 octobre 2016. Vous avez aussi le choix de la forme de ce reportage: il peut s'agir d'un article. placez-le dans un « repo » que vous baptiserez EDM5240. un peu plus de détails sur chacun de ces éléments d'évaluation. vous avez deux options. Script python Vous devrez rédiger un script python qui moissonne des données d'un site de votre choix ou qui se connecte à un API de votre choix. d'un reportage radio.py) dans votre compte Github.io/jeanhuguesroy/edm5240-test) et de me faire signe en cliquant sur les mots « Request Access ». Abonnement à Cloud9 Il suffit de me prouver que vous avez votre compte en vous rendant sur la page suivante (https://ide. bien sûr. le 30 octobre 2016. Vous pouvez faire : un reportage ou un outil Si vous choisissez l'option reportage. Installation de MySQL Envoyez-moi votre capture d'écran avant 23h59. que le site ou l'API soient différents de ceux qu'on a vus en classe. ci- dessous. Faites-le avant 23h59. Abonnement à Github Ne tardez pas trop. vous pouvez le faire sur un sujet de votre choix (conditonnel à mon approbation). « Forkez » mon « repo » EDM5240 avant 23h59. Plus précisément.Travaux Travaux Éléments d'évaluation Les travaux à remettre ont été mentionnés brièvement dans les pages précédentes. Je vous donne. Il faut.

js) que vous avez écrits et/ou Un fichier « dump » (format . Ici. mais il n'est pas nécessaire que vous vous serviez de SQL ou que vous fassiez de la visualisation. le 14 décembre 2016).py ou . je pourrai vous offrir un coup de main dans la mesure de mes capacités. Parlez-m'en auparavant et si c'est l'option qui vous tente. d'une bibliothèque python originale. Il peut s'agir d'un robot sur Twitter.rb ou . Ce texte devra être accompagné de : Tous les scripts (fichiers . Making-of Votre travail final doit être accompagné d'un texte (en format PDF) comptant entre 3 000 et 6 000 caractères et décrivant votre démarche : Pourquoi ce sujet? Quelles technologies avez-vous utilisées? Pourquoi les avoir choisies? Comment vous ont-elles servi? Quels problèmes avez-vous éprouvés (s'il y a lieu). Ventilation des éléments d'évaluation Élément Points Abonnement à Cloud9 5 Abonnement à Github 5 Installation de MySQL 5 Script python 25 Projet final 40 Making-of 20 30 . vous devrez utiliser au moins deux des trois grandes compétences qu'on a apprises au cours de la session : Programmation Gestion et/ou traitement d'une base de données avec SQL Visualisation Si vous choisissez l'option outil. vous avez aussi une grande latitude. il est impératif qu'il y ait de la programmation.Travaux Dans la production de ce reportage. Un outil est quelque chose que vous avez programmé vous-même et qui peut avoir une utilité dans un contexte journalistique. d'un processus qui permet faciliter le travail de vos collègues. vous n'êtes limités que par votre imagination. Vous m'envoyez tout cela par courriel avant le début du dernier cours (14h00.sql) de toutes les bases de données que vous avez utilisées.

31 .Annexes Annexes Annexes Différents services et unités de l'UQAM nous demandent d'ajouter les informations qui suivent dans nos plans de cours afin de vous rappeler certains règlements et politiques de l'Université.

représailles liées à l’acceptation ou au refus d’une demande d’ordre sexuel Actes de voyeurisme ou d’exhibitionnisme Manifestations de violence physique à caractère sexuel ou imposition d’une intimité sexuelle non voulue Toute autre manifestation à caractère sexuel offensante ou non désirée. plaisanteries ou insultes persistants à caractère sexuel portant atteinte à un environnement propice au travail ou à l’étude Avances verbales ou propositions insistantes à caractere sexuel non désirées Avances physiques. poste 0886.Politique #16 Politique #16 Politique #16 Harcèlement sexuel Les comportements suivants sont considérés par la Politique #16 de l'UQAM comme du harcèlement sexuel : Manifestations persistantes ou abusives d’un intérêt sexuel non désirées Remarques. implicites ou explicites. baisers non désirés Promesses de récompense ou menaces de représailles.ca/ Pour rencontrer quelqu'un ou effectuer un signalement : 514-987-3000. 32 . allusions. Pour plus d’information : http://www.harcelement.uqam. attouchements. frôlements. pincements. commentaires.

qu’elle soit collective ou individuelle. l’enseignant. fraude. ou encore d’une évaluation non méritée. avant ou pendant un examen. quelles que soient les circonstances. constituent une infraction au sens de ce règlement.Règlement #18 Règlement #18 Règlement #18 Infractions de nature académique Tout acte de plagiat. l’obtention de toute aide non autorisée. la possession ou l’utilisation. notamment d’un document transmis par l’Université ou d’un document de l’Université transmis ou non à une tierce personne. un mémoire-création. tricherie ou falsification de document commis par une étudiante. manœuvre ou corruption de questions ou de réponses d’examen ou de tout autre document ou matériel non autorisés. Elles peuvent aller jusqu'à l'expulsion de l'UQAM. la transmission d’un travail pour fins d’évaluation alors qu’il constitue essentiellement un travail qui a déjà été transmis pour fins d’évaluation académique à l’Université ou dans une autre institution d’enseignement. un rapport de stage ou un rapport de recherche. l’utilisation totale ou partielle du travail d’autrui en le faisant passer pour sien ou sans indication de référence. 33 . l’utilisation pendant un examen de la copie d’examen d’une autre personne. à l’occasion d’un examen ou d’un travail faisant l’objet d’une évaluation ou dans toute autre circonstance. de tout document non autorisé. de même que toute participation à ces actes ou tentative de les commettre. La liste non limitative des infractions est définie comme suit : la substitution de personnes. notamment une thèse. sauf avec l’accord préalable de l’enseignante. la falsification de données de recherche dans un travail. la falsification d’un document. l’obtention par vol. un étudiant. Les sanctions reliées à ces infractions sont précisées à l’article 3 du Règlement no 18. copiage. un mémoire.

d'une tablette ou d'un téléphone intelligent. l'évaluation en ligne sera faite en classe par les étudiants présents. c'est par ici. mais à l'aide d'un ordinateur. Cette période devra avoir lieu à la douzième ou à la treizième semaine. 34 .Politique #23 Politique #23 Politique #23 Évaluation des enseignements Une période d'une quinzaine de minutes devra être consacrée en classe à l'évaluation du cours durant la prochaine session. Il sera important de prévoir et d'inscrire cette séance d'évaluation des enseignements lors de la ratifcation de l'entente d'évaluation conclue avec les étudiants en début de session. Pour remplir le formulaire d'évaluation et dire votre façon de penser à l'enseignant. Les étudiants absents au cours pourront cependant faire cette évaluation durant le reste de la période prévue à cette fin. Comme pour l'évaluation papier qui était faite auparavant.