Vous êtes sur la page 1sur 34

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

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. grâce à différents outils en ligne dont se servent plusieurs médias. 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. 4 . tel qu'il est actuellement pratiqué partout dans le monde. À faire des visualisations simples. Plus concrètement. ou « de données ».

jean-hugues@uqam. 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 .ca Tél. 514/987-3000.Enseignant Enseignant Enseignant Nom Jean-Hugues Roy Local J-4185 Courriel roy.

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

Contenu 7 .

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

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

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

Semaine 03 - UNIX Retour au calendrier 11 .

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

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

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

Voir la page suivante. 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à.

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

Je vous demande seulement de les installer.. par exemple. Mais je préfère. un autre utilitaire appelé Sequel Pro (téléchargement). Rien ne vous interdit d'essayer. On le reconnaît par son icône ressemblant à une pile de crêpes avec du beurre fondu. 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.) Retour au calendrier 19 .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. Vous aurez également l'option d'utiliser MySQL Workbench. une option importante est absente de la version MacOSX. il n'est pas nécessaire de les faire fonctionner. de loin.. 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.

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. Retour au calendrier 20 . Les interfaces de MySQL Workbench et de Sequel Pro. on va d'abord voir: Comment une base de données SQL fonctionne.

Retour au calendrier 21 . aussi. « 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.

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

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

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

Il y a conflit d'horaire puisque ce cours a lieu les mercredis après-midi. Retour au calendrier 27 . 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..

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

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

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

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

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

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

c'est par ici. Pour remplir le formulaire d'évaluation et dire votre façon de penser à l'enseignant. 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. 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. 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. d'une tablette ou d'un téléphone intelligent. l'évaluation en ligne sera faite en classe par les étudiants présents. mais à l'aide d'un ordinateur.