Méthode

Le contenu de ce cours colle davantage à ce qu'on appelle, dans le monde anglo-saxon, du Computational journalism. Il s'agit de l'application de l'informatique au journalisme.

Même le plan de cours que vous consultez en ce moment 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 et de voir les différentes versions d'un même fichier (pour voir comment ce plan de cours a évolué, consultez ce répertoire sur le compte Github du programme).

Mais ce qu'on fera, surtout, c'est d'apprendre la programmation et ses applications journalistiques.

Le langage qu'on utilisera s'appelle Python. C'est un langage d'usage général qui est l'un des plus utilisés dans le monde. C'est celui qui, en 2022 et pour la prochaine décennie au moins, me paraît le plus utile pour vous comme journalistes et comme citoyen.nes. JavaScript est plus couramment utilisé par des informaticien.nes, mais il est difficile à appréhender pour des gens qui n'ont jamais programmé. Le langage R est très utilisé par mes collègues en sciences humaines et sociales, mais en dehors des cercles académiques, il fait plutôt figure de bizarrerie.

Python a ses avantages et ses inconvénients, comme tous les langages informatiques. C'est celui que j'ai choisi, car il est devenu la lingua franca dans l'univers de l'« intelligence artificielle » et de la science des données. C'est aussi un langage que comprendront les informaticien.nes que vous croiserez peut-être dans les rédactions où vous travaillerez. Enfin, son grand nombre d'utilisateurs fait en sorte que vous pourrez compter sur une grande communauté pour répondre aux questions que vous poserez certainement en ligne au cours de la session.

Plus concrètement, on s'en servira pour :

  • moissonner des données, ou faire du data scraping,

  • faire du traitement du langage naturel (ou Natural Language Processing [NLP]), ce qui nécessite l'utilisation d'une forme d'« intelligence artificielle »,

  • analyser des données lorsqu'elles sont trop volumineuses pour un tableur comme Excel ou Calc de LibreOffice,

  • visualiser des données.

On va le faire au moyen d'un outil que j'utilise pour la première fois : Google Colaboratory, ou Colab. Pour ce faire, il faut que vous disposiez d'un compte Google (si vous vous servez déjà de Gmail et/ou de Google Drive, tout va bien).

Je ne suis pas un cheerleader des GAFA. Mais si j'ai opté pour Colab, c'est après avoir jonglé avec plusieurs autres options au cours des sessions précédentes et dans les derniers mois de 2021 :

  • en 2016 et 2017, je demandais aux étudiant.es d'utiliser Cloud9; ce service en ligne a cependant été acheté par Amazon qui l'a intégré à ses AWS (Amazon Web Services) et l'a rendu payant 💀

  • à partir de 2018, j'ai demandé à tout le monde d'installer sur son ordi Anaconda, une plateforme d'analyse de données. On réutilisait Sublime Text, comme dans le EDM4455 (nostalgie) pour écrire du code. Mais cela se traduisait par une expérience différente selon que vous possédiez un ordinateur avec Windows ou avec Mac. En outre, les personnes munies d'un Chromebook étaient larguées (elles pouvaient utiliser CodeAnywhere ou PythonAnywhere, des services cependant payants). En 2020, j'ai même introduit un éditeur de code professionnel : Visual Studio Code.

  • à l'été 2020, j'ai donné avec deux collègues de la Faculté des sciences le cours Initiation à la science des données et à l'intelligence artificielle. C'était entre les deux premières vagues de la pandémie et le cours a exclusivement été donné en ligne. Je me suis alors servi des Azure Notebooks, un service auquel toute personne qui travaille ou étudie à l'UQAM avait accès gratuitement dans le cadre de l'abonnement de l'université à Office365... j'utilise l'imparfait parce que ce service n'existe plus...

  • Pour cette session-ci, j'ai exploré des solutions de rechange comme PyCharm, Gitpod, Glitch ou les Codespaces de Github. Pour toutes sortes de raisons, je ne les trouvais pas appropriés pour cette session au cours de laquelle les risques de reconfinement sont grands et où j'ai besoin d'une solution en ligne.

Colab ressemble aux Azure Notebooks qui avaient très bien fonctionné en 2020. Ce service m'est donc apparu comme la meilleure solution, même si je ne m'en suis encore jamais servi pour enseigner la programmation. Nous allons en faire l'expérience ensemble au cours de la session.

Ce service devrait donc fonctionner, quel que soit l'ordi que vous possédez : Mac, Windows, Linux, ChromeBook... Je l'ai même testé sur un téléphone dans l'application Chrome 😱 !! Pas très pratique cependant...

Il permet de programmer à l'intérieur de ce qu'on appelle des carnets, ou notebooks, en anglais. Vous me rendrez d'ailleurs la plupart des devoirs sous la forme de carnets.

Lorsque ce sera nécessaire, je partagerai au préalable avec vous des fichiers qui seront utiles dans le cadre des exercices en classe dans ce répertoire partagé sur Google Drive, répertoire auquel vous pouvez aussi accéder directement à partir de Colab.

Ce cours est un échange

Je reste ouvert à vos demandes spéciales. Vous avez entendu parler d'un projet, d'un reportage retentissant, d'une technologie, d'une application particulière en journalisme? Si je puis vous aider à l'appréhender, voire la réaliser, je vais tâcher de le faire. La meilleure façon d'apprendre est avec un projet concret.

Inversement, si vous connaissez une technique, un outil, un truc, n'hésitez jamais à le partager avec l'ensemble du groupe. Parlez-m'en au préalable et on pourra prévoir une période dans le prochain cours pour que vous puissiez nous le ou la présenter. Si vous pouvez vous aussi m'apprendre quelque chose, je serai le prof le plus heureux du monde.

Il n'y a aucune honte à admettre qu'on ignore quelque chose. La seule honte est de prétendre avoir réponse à tout.

  • Neil deGrasse Tyson

Dernière mise à jour