Masters Humanités (ÉdNITL et LIIAN)
J'interviens dans les deux années des formations suivantes :
- Master ÉdNITL (Éditions numériques et imprimées de textes littéraires),
- Master LIIAN (Linguistique informatique pour l'inclusion et l'accessibilité numérique).
La première année débute avec une semaine intensive de mise à niveau pour les nouveaux étudiants. En ce qui me concerne j'y assure une partie du cours d'algorithmique et un cours de HTML & CSS.
Mon cours principal s'intitule « programmation pour l'extraction d'informations » et les langages de programmation utilisés sont Python en M1 et JavaScript en M2.
Semaine intensive de mises à niveau
Cours donnés la semaine du 7 septembre 2026. Interrogation d'algorithmique le ... septembre/octobre 2026.
Algorithmique 1/3
- Introduction à l'algorithmique, notions de complexité,
- procédures, variables et paramètres,
- opérations booléennes,
- langage de description jusqu'à la boucle Tant Que.
Algorithmique 2/3
- Travaux pratiques « Le Robot » avec l'interface « boum le mur »,
- boucle Pour et production de figures,
- structure de données « Tableau » et premiers algorithmes sur les tableaux.
Algorithmique 3/3
- Démonstrations sur les complexités logarithmique et exponentielle,
- algorithmes produisant du code html,
- exercices et compléments sur les notions vues : Robot, production de figures, algorithmique sur les tableaux.
HTML/CSS 1/4
- Internet et Web,
- langage html, les différents doctypes,
- structure arborescente,
- accessibilité et référencement,
- encodages des couleurs et des caractères,
- sémantique versus mise en forme,
- langages xml,
- validité vis-à-vis des DTD du W3C,
- langages html5
Travaux pratiques sur html et html5.
HTML/CSS 2/4
- motivations et avantages à utiliser des feuilles de style,
- sélecteurs CSS,
- propriétés CSS.
Travaux pratiques sur les bases de CSS.
HTML/CSS 3/4
Poursuite du cours sur le langage CSS :
Travaux pratiques sur les mises en page CSS et la prise en compte des différents médias.
HTML/CSS 4/4
Programmation Python en première année
Présentation du cours Python
Cet enseignement propose une introduction à la manipulation automatique de corpus textuels, ainsi qu'une initiation à la programmation avec le langage Python.
Python a été créé en 1991 par Guido van Rossum. Le langage fut d'abord apprécié pour ses qualités pédagogiques et il reste, pour cette raison, un bon choix pour l'apprentissage d'un premier langage de programmation. Aujourd'hui, Python est largement répandu car il a été enrichi par de nombreux modules supplémentaires et parce que ces développements sont portés par une large communauté. De plus, ces modules couvrent des problématiques très variées, par exemple le module scikit-learn pour l'apprentissage automatique ou le module nltk pour la manipulation de textes.
Par ailleurs, Python est présent sur différents systèmes d'exploitation. Pour notre part, nous privilégierons l'apprentissage de Python sous Linux. Le cours commencera par une découverte du système d'exploitation Linux, une mise à niveau sur les formats de fichiers et de documents, et de premières manipulations de documents à l'aide des commandes Linux.
Le reste de l'année sera consacré à l'apprentissage du langage Python et à la compréhension des structures de données nécessaires à notre travail sur les textes. Nous verrons plusieurs modules Python, dont ceux dédiés aux expressions régulières (module re), aux documents semi-structurés (module xml) et aux textes (module nltk).
Les exercices pratiques seront systématiquement en lien avec la langue, les textes ou la production de documents. Ces exercices permettront des réalisations bien concrètes, toutes automatisées à l'aide de Python : production de documents Web, enrichissement de fichiers XML-TEI pour l'édition, extraction et mise en valeur d'informations depuis des corpus textuels, détection d'erreurs orthographiques dans des textes, calcul d'occurrences et concordancier sur des œuvres littéraires, découverte de mots pour des jeux de lettres, etc.
Compétences visées à travers le cours Python
- Utilisation des commandes Linux de base dans le terminal.
- Compréhension des formats ouverts (texte, csv, html, markdown, LaTeX, xml, epub, pdf, etc.).
- Codage en Python des notions vues en algorithmique.
- Maîtrise des principales structures de données en Python.
- Manipulation de fichiers et de documents avec Linux et Python.
- Écriture d'expressions régulières.
- Production automatique de documents pour la diffusion Web ou l'impression.
Évaluations dans le cadre du cours Python
Premier semestre : QCM+discussion sur table le vendredi 28 novembre 2025.
Second semestre : Devoir sur machine le vendredi 27 mars 2026.
Séances des cours
Python 1/12, 25+26 septembre 2025
- Introduction au cours « Python et textes ».
- Système d'exploitation Linux.
- Travaux pratiques : système de fichiers, terminal, commandes linux, etc.
Python 2/12, 2+3 9+10 octobre 2025
Python 3/12, 16+17 octobre 2025
- Cours sur les chaînes de caractères en Python.
- Cours sur les listes Python.
- Travaux pratiques : chaînes et listes.
Python 4/12, 23+24 octobre 2025
- Complément de cours sur les fichiers en Python.
- Exercices pratiques.
Python 5/12, 6+7 novembre 2025
- Introduction à la théorie des langages.
- Cours sur les expressions régulières en Python.
- Mise en œuvre pratique des expressions régulières.
Python 6/12, 13+14 novembre 2025
Exercices sur les expressions régulières en Python et révisions sur le semestre écoulé.
Python 7/12, vendredi 16 janvier 2026
- Rappel sur les fonctions en Python.
- Tris de données en Python et utilisation de la locale.
- Cours sur les ensembles Python.
- Premier exercice sur les ensembles.
Python 8/12, vendredi 23 janvier 2026
- Cours sur les dictionnaires Python.
- Mise en œuvre : comptage d'occurences de mots dans un corpus textuels.
Python 9/12, vendredi 6 février 2026
Réalisation de concordanciers en Python.
Python 10/12, vendredi 13 février 2026
Améliorations du concordancier en Python.
Python 11/12, vendredi 6 mars 2026
Cours sur les tableaux de tableaux en Python.
Mises en œuvre :
- Détection d'anagrammes.
- Comptage de cooccurrences.
- Concordancier par forme.
Python 12/12, vendredi 13 mars 2026
Retour les modules en Python :
- module personnel,
- module os,
- module nltk,
- module wordlcloud,
- module folium.
Travaux pratiques : exercice modules pour les Humanités.
Programmation JavaScript en deuxième année
Présentation du cours Javascript
Cet enseignement propose une découverte de la programmation avec le langage JavaScript et une introduction à la manipulation automatique de documents semi-structurés.
JavaScript est un langage intrinsèquement lié aux documents (x)html (c'est-à-dire en particulier la grande majorité des documents présents sur le web), a priori documents statiques que JavaScript permet de rendre dynamiques. JavaScript se différencie des autres langages de programmation car la programmation se fait dans le document lui-même et l'exécution du programme se fait côté client, c'est-à-dire par le navigateur de l'utilisateur. Ces caractéristiques autorisent l'utilisateur à interagir avec le document dans son navigateur, sans aller-retour avec le serveur web.
JavaScript a récemment connu un regain d'intérêt avec :
- le soutien déclaré en 2009 du W3C au web multimédia avec html5 et au détriment de xhtml,
- le refus par Apple en 2010 d'utiliser Flash sur ses appareils, le couple html5-JavaScript apparaît alors comme la seule alternative,
- la volonté des éditeurs traditionnels de proposer leurs livres sous forme d'e-books (dont les formats majeurs comme epub ou kindle sont basés sur html), en profitant du passage papier-numérique pour les rendre dynamiques ou interactifs.
Le cours commencera par une mise à niveau sur html, puis passera en revue les sujets suivants :
- mise en œuvre en JavaScript du cours d'algorithmique,
- interaction entre JavaScript et l'objet graphique canvas de html5,
- modification des documents html à travers l'API DOM de JavaScript.
Des réalisations concrètes illustreront le cours et seront demandées aux étudiants : productions automatiques de phrases, jeux graphiques et ludiques, manipulation de textes, aide à l'étiquetage de textes, extraction et visualisation automatique d'informations, etc.
Cet enseignement pourra servir de bases à d'éventuels apprentissages dans le cursus des étudiants ou dans leur future carrière professionnelle :
- l'algorithmique et la découverte du langage JavaScript faciliteront l'apprentissage de tout autre langage de programmation,
- la modification de documents à travers l'API DOM pourra être mise en œuvre avec un autre langage de programmation que JavaScript, et pour des documents xml non nécessairement html.
Les compétences acquises pendant ce cours sont également reconnues dans le monde professionnel, en particulier avec l'utilisation de html5/JavaScript dans les formats e-book.
Les supports de cours et exercices seront disponibles en ligne.
Éléments abordés dans le cours JavaScript
- Mise en œuvre en JavaScript du cours d'algorithmique,
- interaction entre JavaScript et l'objet graphique canvas de html5,
- modification des documents html à travers l'API DOM de JavaScript.
Évaluations dans le cadre du cours JavaScript
Premier semestre : QCM+discussion sur table le vendredi 28 novembre 2025.
Second semestre : Devoir sur machine le vendredi 27 mars 2026.
Séances des cours
JavaScript 1/12, vendredi 26 septembre 2025
- Cours javascript : généralités, syntaxe, variables, structures de contrôle, tableaux.
- TP : exercices de prise en main de JavaScript.
- TP : premier exercice sur les mots et les tableaux.
JavaScript 2/12, vendredi 3 octobre 2025
JavaScript 3/12, vendredi 17 octobre 2025
- Cours javascript : capture des événements du navigateur.
- Cours javascript : modifications du DOM.
- TP : premières captures d'événements.
JavaScript 4/12, vendredi 24 octobre 2025
- Poursuite des travaux pratiques sur les événements.
- TP : exercices sur la modification du DOM par JavaScript.
JavaScript 5/12, vendredi 7 novembre 2025
JavaScript 6/12, vendredi 14 novembre 2025
- TP : fin des exercices sur le canvas en JavaScript.
- Révisions.
JavaScript 7/12, jeudi 15 janvier 2026
- Cours : introduction à l'extraction d'informations et rappels sur les manipulations DOM en JavaScript.
- TP : extractions à partir de documents html5.
JavaScript 8/12, jeudi 22 janvier 2026
- Cours : parcours d'arbres, récursivité, version itérative avec pile.
- TP : poursuite des exercices JavaScript sur les arbres DOM.
JavaScript 9/12, jeudi 5 février 2026
- Cours : rappels JavaScript sur la manipulation de chaînes de caractères et sur la gestion de l'arbre DOM.
- TP : implémentation d'un moteur de recherche simple en JavaScript.
JavaScript 10/12, jeudi 12 février 2026
- Cours : théorie des langages et expressions régulières.
- Cours : expressions régulières en JavaScript.
- TP : pratique des expressions régulières.
- TP : améliorations du moteur de recherche à l'aide d'expressions régulières.
JavaScript 11/12, jeudi 5 mars 2026
Implémentation d'outils JavaScript pour animer et exploiter des documents TEI (transformés en fichiers html par xslt, mis en forme avec css).
JavaScript 12/12, jeudi 12 mars 2026
Production d'un ePub mêlant (x)html5, css et JavaScript.
