Anatomie d’un Portail Web Interactif

dernière mise à jour : 9.10.2025

1. Introduction

Au printemps 2025, j’ai réalisé un prototype du portail web interactif KI-Léierbud.
L’architecture de ce portail avait été présentée dans un document transmis au Ministère de la Digitalisation, et elle conserve aujourd’hui toute sa pertinence. Ce document a d’ailleurs servi de référence pour le développement du prototype.

Même si ce projet n’a finalement pas été retenu par mes partenaires pour la mise en œuvre du portail KI-Léierbud, je souhaite en présenter ici les principes techniques et structurels.
Cette description pourra intéresser d’autres programmeurs ou concepteurs d’applications éducatives interactives.
Pour ma part, je vais réutiliser cette architecture afin de développer une application en ligne dédiée à ma tétralogie Qubit Lëtzebuerg.

Cette nouvelle application qubit-mini-app va devenir le dénominateur commun des anciennes applications knowledge-mini-app, quiz-mini-app, poll-mini-app et hands-on-mini-app.

Elle utilise deux méthodes d’affichage du contenu et une méthode commune d’affichage des barres fixes “Header” et “Footer” :

JSON to HTML

Le contenu JSON statique, téléchargé à partir d’un CMS WordPress par REST API, est converti en code HTML au format “Mobile First”.

<iframe>

Le contenu dynamique interactif, téléchargé à partir de la plateforme IA publique HuggingFace ou à partir d’un conteneur Docker hébergé sur un serveur privé, est intégré dans une balise <iframe>, insérée dans une page statique WordPress.

Barres fixes

Les barres fixes en haut (header) et en bas (footer) de la fenêtre, affichée dans le navigateur, contiennent les éléments de gestion de l’application (par exemple le changement de langue, le login, etc) et de navigation à travers le contenu.


2. Interface graphique

Layout of a portal web page

L’interface visuelle du portail s’adapte aux différents types d’appareils : mobile, tablette et ordinateur portable. Elle repose sur une structure claire composée de trois zones principales :

a. Une barre supérieure fixe (header) comprenant :

  • le logo du portail,
  • un bouton de recherche,
  • un menu déroulant pour le choix de la langue,
  • et un bouton de connexion (login).

b. Une zone centrale dynamique (main) affichant les pages associées à un module.

c. Une barre inférieure fixe (footer) indiquant :

  • les initiales de l’auteur du contenu principal,
  • une flèche de retour à la page précédente,
  • un bouton “Home”,
  • un indicateur de progression (page courante / total du module),
  • un bouton “TOC” (table des matières),
  • et une flèche d’avancement vers la page suivante.

Un clic sur le logo ou sur un bouton ouvre une fenêtre modale avec des informations associées.
Les flèches de navigation sont contextuelles : la flèche de retour est cachée sur la première page, celle d’avancement sur la dernière.
Le menu déroulant permet de changer la langue du contenu.
L’ordre de préférence linguistique est : en → fr → de → pt → lb.
Si une page n’est pas disponible dans une langue, celle-ci est exclue du menu. Lors d’une navigation en avant ou en arrière, si la langue choisie n’existe pas pour la page suivante, le système affiche automatiquement la version disponible selon l’ordre de préférence défini.

La barre de titre du navigateur n’est pas affichée sur les mobiles et tablettes des nouvelles générations.


3. Modules

Le portail distingue quatre types de modules, chacun ayant une palette de couleurs spécifique pour différencier les contextes d’informations.

  1. Modules “knowledge”
    • Chargés à partir du CMS WordPress via REST API.
    • Composés d’une série d’articles WordPress, avec une page d’introduction et une page de conclusion.
    • Chaque article peut contenir du texte, des médias et du code.
    • À des fins pédagogiques, la séquence d’articles ne dépasse généralement pas quelques dizaines de pages.
  2. Modules “quiz”, “poll” et “hands-on”
    • Ils comportent également trois pages : introduction, contenu principal et conclusion.
    • Le contenu principal est un article WordPress intégrant une balise <iframe> qui charge du contenu interactif depuis un serveur externe.

4. CMS WordPress

Le CMS WordPress constitue le cœur du portail.

  • Il bénéficie d’un écosystème robuste avec des mises à jour régulières, de nombreux thèmes, plugins et outils développés par une large communauté.
  • Son éditeur intégré et ses blocs prédéfinis facilitent la rédaction et la mise en page des articles.
  • Le plugin Polylang permet la traduction du contenu dans les cinq langues (en, fr, de, pt, lb).

Bien que certains jeunes développeurs considèrent WordPress comme dépassé ou vulnérable, cette réputation est injustifiée lorsqu’il est correctement configuré et entretenu.
Un CMS WordPress sécurisé, mis à jour régulièrement et accompagné de sauvegardes ou exportations XMLfréquentes reste une solution fiable.

Je l’utilise personnellement depuis plus de vingt ans sur divers systèmes (ordinateurs personnels, serveurs Synology, hébergements mutualisés) sans incident majeur.
WordPress forme ainsi un élément essentiel du backend du portail interactif.


5. React

Le frontend du portail repose sur la technologie React, développée par Meta (Facebook).
Cette bibliothèque JavaScript est aujourd’hui l’une des plus performantes pour créer des interfaces dynamiques et réactives, particulièrement adaptées aux approches “Mobile First”.


6. Mini-applications et intégration

La connexion entre le CMS WordPress et le frontend React est assurée par une série de mini-applications qui échangent des données via des fichiers JSON basés sur l’API REST de WordPress. Elles sont toutes basées sur le même code qubit-mini-app.

La personnalisation d’une mini-application repose sur un fichier de configuration JSON, généré automatiquement par un outil que j’ai développé en Python.
Deux exemples de code illustrent la commande de génération et la structure typique d’un tel fichier de configuration. Le premier est extrait de mon prototype pour le portail KI-Léierbud.

Knowledge : KI-Léierbud. What?

"sequence": {
    "posts": [
      {
        "en": 12,
        "fr": 71,
        "de": 73,
        "pt": 114,
        "lb": 76
      },
      {
        "en": 14,
        "fr": 451,
        "de": 471,
        "pt": 0,
        "lb": 473
      },
      {
        "en": 18,
        "fr": 456,
        "de": 0,
        "pt": 0,
        "lb": 0
      },
      {
        "en": 16,
        "fr": 454,
        "de": 477,
        "pt": 0,
        "lb": 0
      },
      {
        "en": 479,
        "fr": 0,
        "de": 0,
        "pt": 0,
        "lb": 0
      },
      {
        "en": 3059,
        "fr": 0,
        "de": 0,
        "pt": 0,
        "lb": 0
      }
    ]
  },
  "color": {
    "header": "#003366",
    "main": "#E6F2FF",
    "footer": "#004080",
    "header-font": "#FFFFFF",
    "main-font": "#000000",
    "footer-font": "#FFFFFF"
  },
  "login": "https://www.web3.lu/ki-leierbud/login.html",
  "about": "https://www.web3.lu/ki-leierbud/about.html",
  "welcome": "https://www.web3.lu/ki-leierbud/welcome.html",
  "search": "https://www.web3.lu/ki-leierbud/search.html",
  "landing": "https://www.web3.lu/ki-leierbud/landing.html",
  "dashboard": "https://www.web3.lu/ki-leierbud/dashboard.html",
  "faq": "https://www.web3.lu/ki-leierbud/faq.html",
  "user": "https://www.web3.lu/ki-leierbud/user.html",
  "author": "https://www.web3.lu/ki-leierbud/author.html",
  "favicon": "assets/logo.svg",
  "logo": "assets/logo.svg",
  "category_id": 574,
  "category_name": "Introduction"
}

Birds Quiz

{
  "sequence": {
    "posts": [
      {
        "en": 0,
        "fr": 3090,
        "de": 0,
        "pt": 0,
        "lb": 0
      },
      {
        "en": 0,
        "fr": 3104,
        "de": 0,
        "pt": 0,
        "lb": 0
      },
      {
        "en": 0,
        "fr": 3097,
        "de": 0,
        "pt": 0,
        "lb": 0
      }
    ]
  },
  "color": {
    "header": "#1B4332",
    "main": "#D8F3DC",
    "footer": "#2D6A4F",
    "header-font": "#FFFFFF",
    "main-font": "#000000",
    "footer-font": "#FFFFFF"
  }
}

La génération de fichiers statiques d’un module est assurée par un programme Next.js que j’ai développé avec l’assistance d’une IA.
Une fois la génération terminée, le dossier contenant les fichiers HTML, CSS et JS est importé dans le répertoire /httpdocs du serveur Plesk, qui héberge mon blog web3.lu.


7. Serveurs externes

Les contenus interactifs intégrés dans les balises <iframe> proviennent de serveurs externes tels que :

  • les sites de uni.lu (par exemple pour Lux-ASR),
  • éventuellement liesmachinn.lu du ZLS,
  • et surtout Hugging Face, utilisé comme principal fournisseur de ressources IA.

Les contenus hébergés sur des serveurs dédiés sont de préférence conteneurisés avec Docker, afin d’assurer portabilité et sécurité.


8. Démonstrations et perspectives

Une liste de mini-applications de démonstration accompagne le prototype et illustre les différentes fonctionnalités interactives du portail.

  • Mini App KI-Léierbud. What? Cette application permet de tester la gestion des langues.
  • Mini App Qubit Lëtzebuerg : Histoire IA. Cette application permet de tester l’affichage des textes et médias.
  • Mini App Quiz Oiseaux réels ou virtuels. Cette application permet de tester l’intégration d’un quiz développé sur la plateforme HuggingFace dans mon prototype du portail KI-Léierbud.
  • Mini App Quiz Style images champion Judo. Cette application montre l’utilisation de menus déroulants pour la sélection par choix multiples
  • Mini App Poll Thumbs Up/Down. Cette application montre une série de vidéos de courte durée que l’usager peut aimer ou désapprouver.
  • Mini App Poll AI Slop. Cette application permet aux participants d’exprimer leurs sentiments (joie, tristesse, surprise, peur, colère, dégoût, indifférence) et de se comparer aux autres participants au sondage.
  • Mini App My Hands-on AI image. Cett application permet aux usagers de voir la génération progressive d’une image IA moyennant le processus de diifusion.

D’autres applications vont suivre.

Le logo “KI-Léierbud” sera remplacé prochainement par “Qubit Lëtzebuerg”, marquant ainsi la transition vers un nouvel écosystème éducatif numérique.

Intelligence artificielle dans l’école fondamentale

Lors du 6ᵉ Forum interdisciplinaire sur l’inclusion numérique, qui s’est tenu le 16 mai 2025, j’ai eu le plaisir d’assister à la table ronde intitulée « Intelligence artificielle dans l’éducation : Innovations et défis ».

Les intervenants étaient Serge Linckels, Daniela Hau, Robert Reuter et Georges Jentgen, avec une modération assurée par Edvin Ceman. Au cours de la séance de questions-réponses qui a clôturé la discussion, j’ai souligné que le débat portait principalement sur le modèle traditionnel de relation entre l’humain et l’intelligence artificielle, dans lequel l’humain interroge ou commande, et l’IA répond ou exécute. J’ai alors demandé si, dans le cadre de l’éducation, une relation inversée — où l’IA propose, alerte, organise et initie, et où l’humain agit ou valide — ne serait pas plus pertinente. Les quatre intervenants ont apporté quelques exemples allant dans ce sens, sans toutefois approfondir la question.

N’ayant pas eu l’occasion de présenter mes propres réflexions sur le futur rôle de l’IA dans l’enseignement, j’ai entrepris, dans les jours suivants, de clarifier mes idées encore diffuses. J’ai tenté de transformer ces pensées initialement floues sur une IA capable de guider les humains en une description structurée, claire et communicable.

Je me suis concentré sur l’intégration de l’IA dans l’enseignement fondamental. Comme son nom l’indique, c’est à ce niveau que sont posées les bases essentielles de l’apprentissage chez l’enfant. J’ai ainsi conçu un projet dans lequel l’IA est intégrée à un robot dont l’apparence s’inspire du Nabaztag, le premier objet connecté grand public, lancé il y a une vingtaine d’années. Le robot, de la taille d’un enfant de 10 ans, est représenté dans les images jointes.

Son apparence familière et non menaçante favorise l’attachement affectif des élèves. Sa taille, comparable à celle d’un enfant, permet d’instaurer une relation pédagogique équilibrée, ni autoritaire, ni infantilisante. Sa capacité à dialoguer en langage naturel (via reconnaissance et synthèse vocale), son interaction multimodale, l’impression automatique de fiches pédagogiques et la lecture optique des exercices manuscrits facilitent grandement la communication avec les élèves.


Fonctionnalités essentielles du robot :

  • Reconnaissance faciale (caméras intégrées dans les yeux)
  • Traitement du langage naturel (microphone et haut-parleur dans la bouche)
  • Lecture de puces NFC (via un capteur situé dans le nez)
  • Lecture, OCR et analyse de documents manuscrits (scanner intégré, fente A)
  • Interaction visuelle (écran intégré affichant texte et images)
  • Impression de documents personnalisés (imprimante interne, fente B)
  • Interface de commande manuelle (oreilles mobiles servant de joystick)
  • Mobilité autonome ou assistée (roulettes permettant le déplacement en classe)

🤖 Fiche technique du robot pédagogique IA

📦 Composants physiques et fonctionnalités

ÉlémentFonction principale
Yeux (caméras)Reconnaissance des élèves (identité, présence, émotions, position)
Nez (NFC)Lecture de cartes NFC (identification des élèves, démarrage d’activités personnalisées)
Bouche (micro/HP)Dialogue vocal avec les élèves (questions, réponses, narration, assistance)
Écran (ventre haut)Affichage de consignes, images, emojis, feedbacks ou textes
Scanner (fente A)Lecture et analyse de documents papier A4 soumis par les élèves
Imprimante (fente B)Génération de documents personnalisés, certificats, exercices corrigés
Oreilles (joysticks)Interface de commande manuelle (navigation dans menus, expression d’humeur, validation)
RoulettesMobilité dans la salle de classe (déplacement autonome ou assisté)

💡 Cas d’usage pédagogiques envisageables

1. Assistant de remédiation personnalisée

  • Un élève passe sa carte NFC → le robot le reconnaît → il affiche et lit les consignes adaptées → l’élève interagit oralement ou soumet un exercice écrit → le robot analyse, donne un retour et imprime un corrigé personnalisé.

2. Animateur de lecture ou conteur interactif

  • Le robot lit une histoire (voix et écran) et pose des questions aux enfants (comprendre, imaginer, compléter), s’adaptant aux réponses orales.

3. Soutien à l’écriture

  • L’élève soumet une rédaction manuscrite via le scanner → le robot analyse le texte (structure, orthographe, clarté) → propose des suggestions ou félicitations → imprime une version annotée.

4. Médiateur social ou émotionnel

  • Grâce à la reconnaissance faciale, le robot peut détecter si un élève semble triste, isolé, stressé → il peut engager un dialogue ou alerter l’enseignant.

5. Robot “chef de jeu” pour ateliers en groupe

  • L’écran donne des instructions, les oreilles servent de contrôleurs (choix, validation), les enfants interagissent en équipe selon des scénarios ludiques ou coopératifs.

🏫 Rôle fonctionnel du robot IA dans la classe

🔧 Supervision

  • Le robot est toujours supervisé par l’enseignant, qui en garde le contrôle pédagogique.
  • Il agit comme assistant intelligent et intermédiaire personnalisé dans l’apprentissage, sans se substituer au rôle éducatif de l’enseignant.

📘 Fonctionnalités pédagogiques principales

Moment de la sessionFonction du robotObjectif
Début de séanceImpression de fiches personnalisées (selon la matière)Adapter le travail aux besoins spécifiques de chaque élève (différenciation pédagogique)
Pendant la séanceRépond aux questions des élèves (interface vocale)Apporter une aide immédiate sans interrompre l’enseignant
Fin de séanceAnalyse, correction automatique des fiches, création de rapports individuelsOffrir un retour rapide et précis, suivi personnalisé
Entre les séancesMise à jour continue du profil d’apprentissage de chaque élèveAdapter le contenu futur en fonction des progrès et des difficultés  

🧠 Mécanismes d’adaptation continue

Le robot alimente un profil d’apprentissage dynamique pour chaque élève, en fonction :

  • des performances aux fiches de travail (réussite, erreurs types),
  • de l’évolution dans le temps (progression ou stagnation),
  • des interactions orales avec l’IA (types de questions posées, autonomie),
  • de la fréquence et du type d’aide demandée.

Ces profils permettent :

  • d’ajuster la difficulté des exercices proposés,
  • de détecter précocement des troubles ou retards d’apprentissage,
  • d’aider l’enseignant à identifier les besoins spécifiques de chaque enfant.

Avantages de l’utilisation du robot pédagogique IA

🎯 1. Enseignement personnalisé et inclusif

  • Chaque enfant reçoit des exercices adaptés à son niveau, sa progression et son style d’apprentissage, favorisant une réelle équité pédagogique.
  • Le robot peut s’exprimer dans la langue maternelle de l’élève, ce qui est essentiel pour les enfants allophones ou issus de milieux plurilingues.
  • L’adaptation au profil psychologique (motivation, rythme, confiance) permet une approche plus humaine et bienveillante de l’apprentissage.

📄 2. Travail sur papier, sans écrans

  • Les enfants travaillent avec des documents physiques, ce qui évite une surexposition aux écrans (tablettes, smartphones, ordinateurs).
  • Cela favorise la motricité fine, la mémoire écrite, et respecte les préférences d’apprentissage de nombreux enfants.

🎒 3. Réduction de la charge matérielle

  • Les élèves n’ont plus besoin de transporter de lourds sacs remplis de livres et de cahiers, puisque les fiches sont générées et rendues sur place.
  • Cela améliore le confort physique des élèves, particulièrement dans les petites classes.

👩‍🏫 4. Recentrage du rôle de l’enseignant

  • L’enseignant est libéré de la répétition mécanique de la transmission du savoir, confiée au robot.
  • Il peut se consacrer à l’accompagnement émotionnel, social, comportemental, et à la construction d’un climat scolaire sain et motivant.
  • Cela valorise la dimension éducative et humaine du métier d’enseignant.

📋 5. Allègement des tâches administratives

  • Le robot prend en charge :
    • La correction des exercices,
    • L’évaluation formative automatique,
    • La production de rapports pédagogiques individualisés.
  • L’enseignant gagne un temps administratif considérable, qu’il peut réinvestir dans des activités pédagogiques.

🧩 6. Rééquilibrage des priorités scolaires

  • Le gain de temps permet de réintégrer des activités souvent négligées :
    • Éducation physique,
    • Discussions philosophiques ou citoyennes,
    • Présentations orales,
    • Travail en groupes coopératifs,
    • Activités artistiques et créatives.
  • Cela favorise un développement global et harmonieux de l’enfant.

KI-Léierbud – Quand ?

when

KI-Léierbud est conçu pour être accessible à tout momentà votre rythmequand cela vous convient.

Que vous ayez cinq minutes ou une heure devant vous, vous pouvez explorer librement les contenus, découvrir des démonstrations interactives ou approfondir vos connaissances.
Le portail s’adapte à votre emploi du temps et à votre curiosité, sans pression ni contrainte.

KI-Léierbud – Comment ?

how

Le portail sera développé en combinant plusieurs approches :

  • Collaboration avec des experts : pour garantir l’exactitude scientifique.
  • Design pédagogique interactif : contenus modulaires (textes, vidéos, jeux interactifs).
  • Langage clair et accessible : sans jargon technique, avec des analogies simples.
  • Outils interactifs : simulateurs de réseaux neuronaux, démonstrations d’algorithmes (reconnaissance d’images, traitement du langage, etc.).
  • Inclusivité linguistique : contenu multilingue (français, luxembourgeois, allemand, anglais, portugais).

KI-Léierbud – Quoi ?

what

KI-Léierbud est un portail web interactif destiné au grand public, dont l’objectif est de rendre l’intelligence artificielle (IA) accessible et compréhensible. Ce site proposera des contenus éducatifs, des démonstrations interactives, des mini-cours, des quiz et des simulateurs pour expliquer les bases, les applications, et les enjeux éthiques de l’IA.

AI Café 2024

On Monday 30 September 2024, I had the pleasure of participating in the first AI Café 2024 debate this year, organized by Christophe Schommer and his team. The panel featured insightful contributions from Evangelia Markidou, Patrick Glauner and Philip Treleaven, with Nora Schleich skillfully moderating the session. It was a fantastic debate – congratulations to everyone involved!
I used ChatGPT to refine and enhance my original draft report on the session, titled AI for the Labour Market: Blessing or Curse ?

Questions :

  • Do we need AI?
  • Should AI be regulated?
  • Is it important to combine AI and robotics?
  • Can AI help enable a four-day workweek?
  • Why does AI assist in creative work but not simple chores like doing the dishes?
  • With AI, will we still need to learn skills like writing, calculating, and coding?
  • Does AI risk introducing standardization in creative output?
AI is an innovation tsunami – you either ride the wave or get left behind.

Facts :

  • A calculator is useless if you don’t understand the basics of numbers and calculation; the same is true for AI tools.
  • The United States is a single country, China is a single country, but the EU consists of 27 countries, each with different values.
  • The real drivers of AI are not countries but large corporations, such as GAFAM (Google, Apple, Facebook, Amazon, Microsoft), Alibaba, and others.
  • OpenAI tools are relatively affordable.

Examples :

  • Jobs have always evolved — most jobs from 100 years ago no longer exist.
  • Today, employees need skills in Word, Excel, and other Microsoft tools. Tomorrow, the same will be true for AI.
  • Google disables some features in its tools within Europe due to regulation, which weakens the experience for end-users.
  • WikiHow data was removed from a large language model due to regulatory requirements.

Statements about AI :

  • AI is an innovation tsunami – you either ride the wave or get left behind.
  • The EU is like a “sleeping beauty” when it comes to AI – how can we awaken it?
  • Decision-making remains a critical human skill.
  • Many AI models are biased because their training datasets are flawed or incomplete.
  • Mass unemployment due to AI isn’t the real problem – today’s concern is an aging population.
  • Most AI knowledge is freely available.
  • Excessive regulation reduces Europe’s ability to compete with Asian countries.
  • Ambition matters more than skills.
  • Expecting everyone to bring creativity into prompt engineering is unrealistic.
  • Company messaging should be strategic: instead of saying that AI will reduce salaries by half, say that it will double productivity with the same staff.
  • Risk aversion is a significant issue within the EU.
  • Europe lacks significant AI players on the global stage.
AI is an innovation tsunami – you either ride the wave or get left behind.

Statements about Regulation :

  • There is too much regulation in Europe – not only the AI Act, but also related to personal rights, copyright, and data protection.
  • China tends to innovate first and regulate later, while the EU regulates first, often missing opportunities to innovate.
  • Regulations can pose challenges for open-source projects.
  • Big companies pressure governments for regulation to avoid competition.
  • Overregulation can hinder start-ups.
  • Innovation requires experimentation, which in turn requires freedom.

Statements about Society :

  • Competition is inherent to human nature – it’s one of the reasons we have progressed.
  • In Japan, people tend to prioritize collectivism, whereas in Europe, individuality is more prevalent.
  • Students from poorer countries are often more ambitious than those from wealthier nations.

Links :