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

À faire des visualisations simples. grâce à différents outils en ligne dont se servent plusieurs médias. ou « de données ». vous apprendrez : Les principes fondamentaux de la programmation avec le langage Python.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. Comment analyser d'imposantes bases de données en vous servant de MySQL. incluant dans un nombre de plus en plus important de médias au Québec. tel qu'il est actuellement pratiqué partout dans le monde. 4 . Plus concrètement.

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

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. Intro à UNIX 04 28 sept. donc. Visualisation 2 13 30 nov. 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. SQL 2 11 16 nov. voici le graphique dont je parlais : 6 . prévenez-moi par courriel et hop! deux points boni seront ajoutés à votre total à la fin de l'année. Visualisation 3 14 7 déc. SQL 1 10 9 nov. Python 2 06 12 oct. Histoire du « journalisme quantitatif » Abonnement à Cloud9 03 21 sept. Python 4 Script python. Tutorat Travail final + 15 14 déc. tel un « easter egg ». on verra comment le cours est structuré et comment la matière sera dispensée au fil des semaines.Contenu Contenu Calendrier Dans les prochaines pages. Semaine de relâche abonnement à Github et installation de SQL 09 2 nov. Visualisation 1 12 23 nov. En voici le résumé dans un magnifique tableau : # Date Contenu Travail à faire ou à remettre (s'il y a lieu) 01 7 sept. Python 3 07 19 oct. Python 1 05 5 oct. On abordera cependant les plus importants. 08 26 oct. Syllabus 02 14 sept. Or. Il est impossible de les voir tous.

Contenu 7 .

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

étapes qui structurent le contenu de ce cours. nord-américains et européens. Je vous demanderai de m'en montrer. réalisé en 1869. je vous montrerai aussi quelques exemples québécois. 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. Dans ce deuxième cours. également! On verra enfin les différentes étapes du journalisme informatique. 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. il s'inscrit dans une longue histoire de ce qu'on peut appeler le « journalisme quantitatif ».

dont. On va y voir les commandes les plus utiles dans le métier que vous avez choisi. j'avoue qu'UNIX est à première vue complètement rébarbatif. ce qui sera utile tout au long de la session. Il nous permettra d'avoir tous le même environnement. 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). 10 . nous allons nous servir d'un outil en ligne très bien fait appelé Cloud9. C'est pourtant un outil puissant qui aide encore de nombreux journalistes dans leurs tâches de tous les jours.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.

Semaine 03 - UNIX Retour au calendrier 11 .

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

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 .

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

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

Ce fork vaut à lui seul 5 autres magnifiques points! 16 . On va également apprendre les bases du système git. Je vais vous demander de vous abonner à Github et de faire un « fork » de mon répertoire EDM5240.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).

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

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

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. 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. Rien ne vous interdit d'essayer.. il n'est pas nécessaire de les faire fonctionner. de loin.Semaine 08 - Relâche Sous MacOSX: Installez le « Community Server » de MySQL à partir de sa page de téléchargement. Je vous demande de procéder à ces installations au préalable. Je vous demande seulement de les installer. par exemple. Vous aurez également l'option d'utiliser MySQL Workbench.) Retour au calendrier 19 . un autre utilitaire appelé Sequel Pro (téléchargement).. une option importante est absente de la version MacOSX. Mais je préfère.

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. Comment on y importe des données. on va d'abord voir: Comment une base de données SQL fonctionne. Retour au calendrier 20 .

Retour au calendrier 21 . disent les spécialistes. « Dumper ». 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 22 . dont: Infogr.Semaine 11 - Visualisation 1 Semaine 11 - Visualisation 1 Cours 11 - Visualisation 1 16 novembre 2016 Outils simples de visualisation interactive.ly Peut-être qu'on aura le temps de voir Tableau.am Datawrapper Plot.

Retour au calendrier 23 . je vous demanderai quelques minutes pour remplir le formulaire en ligne d'évaluation des enseignements. 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).

il viendra vous faire une démonstration de la bibliothèque de visualisation Data-Driven Documents. Dans la seconde moitié. écrite en JavaScript. j'aborderai ensuite quelques bibliothèques Python pour faire de l'analyse de données et de la visualisation : 24 . ou D3 pour les intimes. Dans la première moitié du cours.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. diplômé du programme de journalisme à l'UQAM en 2011 et journaliste de données à L'actualité.

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 donne une séance dans le cours EDM1400 (Méthodologie de la recherche en journalisme) avec les étudiants de première année. 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. Retour au calendrier 27 . Il y a conflit d'horaire puisque ce cours a lieu les mercredis après-midi..Semaine 14 - Tutorat Semaine 14 - Tutorat Semaine 14 - Tutorat 7 décembre 2016 Cette semaine-là..

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

en haut. d'un reportage télé ou d'un reportage web. Tombée : avant 23h59 le 31 octobre 2016. un peu plus de détails sur chacun de ces éléments d'évaluation. Abonnement à Github Ne tardez pas trop. Je vous donne. Installation de MySQL Envoyez-moi votre capture d'écran avant 23h59. Projet final Pour votre projet final. le 18 octobre 2016. « Forkez » mon « repo » EDM5240 avant 23h59. 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 . bien sûr. le 23 octobre 2016. Abonnement à Cloud9 Il suffit de me prouver que vous avez votre compte en vous rendant sur la page suivante (https://ide. à droite de la page.Travaux Travaux Éléments d'évaluation Les travaux à remettre ont été mentionnés brièvement dans les pages précédentes. d'un reportage radio. Vous pouvez faire : un reportage ou un outil Si vous choisissez l'option reportage. vous avez deux options. Vous avez aussi le choix de la forme de ce reportage: il peut s'agir d'un article. que le site ou l'API soient différents de ceux qu'on a vus en classe.c9. le 30 octobre 2016.py) dans votre compte Github. Il faut. 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. placez-le dans un « repo » que vous baptiserez EDM5240. Plus précisément. 29 . Faites-le avant 23h59. vous pouvez le faire sur un sujet de votre choix (conditonnel à mon approbation).io/jeanhuguesroy/edm5240-test) et de me faire signe en cliquant sur les mots « Request Access ». ci- dessous.

le 14 décembre 2016). Ce texte devra être accompagné de : Tous les scripts (fichiers .py ou . je pourrai vous offrir un coup de main dans la mesure de mes capacités. mais il n'est pas nécessaire que vous vous serviez de SQL ou que vous fassiez de la visualisation. 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). Il peut s'agir d'un robot sur Twitter.js) que vous avez écrits et/ou Un fichier « dump » (format . 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 .sql) de toutes les bases de données que vous avez utilisées. Un outil est quelque chose que vous avez programmé vous-même et qui peut avoir une utilité dans un contexte journalistique. Ici. d'un processus qui permet faciliter le travail de vos collègues.rb ou . d'une bibliothèque python originale.Travaux Dans la production de ce reportage. 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 n'êtes limités que par votre imagination. il est impératif qu'il y ait de la programmation. Parlez-m'en auparavant et si c'est l'option qui vous tente. Vous m'envoyez tout cela par courriel avant le début du dernier cours (14h00. vous avez aussi une grande latitude.

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é. 31 .

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.ca/ Pour rencontrer quelqu'un ou effectuer un signalement : 514-987-3000. implicites ou explicites.uqam.harcelement. 32 . baisers non désirés Promesses de récompense ou menaces de représailles. allusions. attouchements. pincements. frôlements. 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. commentaires. Pour plus d’information : http://www. 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.

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

Cette période devra avoir lieu à la douzième ou à la treizième semaine. Les étudiants absents au cours pourront cependant faire cette évaluation durant le reste de la période prévue à cette fin. d'une tablette ou d'un téléphone intelligent. l'évaluation en ligne sera faite en classe par les étudiants présents. Comme pour l'évaluation papier qui était faite auparavant. mais à l'aide d'un ordinateur. c'est par ici.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. Pour remplir le formulaire d'évaluation et dire votre façon de penser à l'enseignant. 34 . 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.