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 jeudi 15 octobre 2026. Évaluation html/css ?
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 11 décembre 2026.
Second semestre : Devoir sur machine en mars 2027.
Séances des cours
Python 1/14, 1er+2 octobre 2026
- Introduction au cours « Python et textes ».
- Système d'exploitation Linux.
- Travaux pratiques : système de fichiers, terminal, commandes linux, etc.
Python 2/14, 2+3 8+9 octobre 2026
Python 3/14, 22+23 octobre 2026
- Cours sur les chaînes de caractères en Python.
- Cours sur les listes Python.
- Travaux pratiques : chaînes et listes.
Python 4/14, 5+6 octobre 2026
- Complément de cours sur les fichiers en Python.
- Exercices pratiques.
Python 5/14, 12+13 novembre 2026
- 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/14, 19+20 novembre 2026
Exercices sur les expressions régulières en Python.
Python 7/14, 26+27 novembre 2026
Révisions sur le semestre écoulé.
Python 8/14, janvier 2027
- 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 9/14, janvier 2027
- Cours sur les dictionnaires Python.
- Mise en œuvre : comptage d'occurences de mots dans un corpus textuels.
Python 10/14, février 2027
Réalisation de concordanciers en Python.
Python 11/14, février 2027
Améliorations du concordancier en Python.
Python 12/14, mars 2027
Cours sur les tableaux de tableaux en Python.
Mises en œuvre :
- Détection d'anagrammes.
- Comptage de cooccurrences.
- Concordancier par forme.
Python 13/14, mars 2027
Retour les modules en Python :
- module personnel,
- module os,
- module nltk,
- module wordlcloud,
- module folium.
Travaux pratiques : exercice modules pour les Humanités.
Python 14/14, mars 2027
Révisions sur le semestre écoulé.
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 11 décembre 2026.
Second semestre : Devoir sur machine en mars 2027.
Séances des cours
JavaScript 1/14, vendredi 18 septembre 2026
- 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/14, vendredi 25 septembre 2026
JavaScript 3/14, vendredi 9 octobre 2026
- Cours javascript : capture des événements du navigateur.
- Cours javascript : modifications du DOM.
- TP : premières captures d'événements.
JavaScript 4/14, vendredi 16 octobre 2026
- Poursuite des travaux pratiques sur les événements.
- TP : exercices sur la modification du DOM par JavaScript.
JavaScript 5/14, vendredi 6 novembre 2026
JavaScript 6/14, vendredi 13 novembre 2026
- TP : fin des exercices sur le canvas en JavaScript.
- Révisions.
JavaScript 7/14, vendredi 27 novembre 2026
Révisions sur le semestre écoulé.
JavaScript 8/14, janvier 2027
- Cours : introduction à l'extraction d'informations et rappels sur les manipulations DOM en JavaScript.
- TP : extractions à partir de documents html5.
JavaScript 9/14, janvier 2027
- Cours : parcours d'arbres, récursivité, version itérative avec pile.
- TP : poursuite des exercices JavaScript sur les arbres DOM.
JavaScript 10/14, février 2027
- 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 11/14, février 2027
- 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 12/14, mars 2027
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 13/14, mars 2027
Production d'un ePub mêlant (x)html5, css et JavaScript.
JavaScript 14/14, mars 2027
Révisions sur le semestre écoulé.
