Bibliothèques Sans Frontières · Khan Academy × Moodle

Installer l'outil Khan Academy sur votre Moodle Het Khan Academy-gereedschap op uw Moodle installeren

Documentation d'installation et d'exploitation à l'usage des administrateurs de plateforme et des responsables de la protection des données. Installatie- en exploitatiedocumentatie voor platformbeheerders en functionarissen voor gegevensbescherming.

Objet et prérequisVoorwerp en vereisten

L'outil est un fournisseur LTI 1.3 Advantage hébergé par Bibliothèques Sans Frontières. Il n'exige aucun plugin ni aucun import de sauvegarde sur votre plateforme.

Prérequis :

  • Moodle 4.x ou 5.x ;
  • module Outil externe (mod_lti) activé et visible dans le sélecteur d'activités ;
  • accès administrateur au site ;
  • accès sortant en HTTPS vers perseus.ilearn.bibliosansfrontieres.be depuis les postes des utilisateurs.

Services LTI Advantage mis en œuvre :

  • Deep Linking 2.0 — sélection des contenus par l'enseignant et création des activités ;
  • Assignment and Grade Services — écriture des notes d'exercices dans le carnet de notes du cours.

Le service Names and Role Provisioning n'est pas utilisé.

Het gereedschap is een LTI 1.3 Advantage-aanbieder gehost door Bibliotheken Zonder Grenzen. Het vereist geen plug-in en geen back-upimport op uw platform.

Vereisten:

  • Moodle 4.x of 5.x;
  • module Externe tool (mod_lti) ingeschakeld en zichtbaar in de activiteitenkiezer;
  • beheerderstoegang tot de site;
  • uitgaande HTTPS-toegang tot perseus.ilearn.bibliosansfrontieres.be vanaf de werkstations van de gebruikers.

Gebruikte LTI Advantage-diensten:

  • Deep Linking 2.0 — selectie van inhoud door de leerkracht en aanmaak van de activiteiten;
  • Assignment and Grade Services — wegschrijven van oefenresultaten naar het cijferboek van de cursus.

De dienst Names and Role Provisioning wordt niet gebruikt.

01 Enregistrement de l'outilRegistratie van het gereedschap

  1. Ouvrir Administration du site › Plugins › Modules d'activité › Outil externe › Gérer les outils.
  2. Saisir l'URL d'enregistrement dynamique dans le champ Ajouter un outil : https://perseus.ilearn.bibliosansfrontieres.be/lti/register
  3. Cliquer sur Ajouter LTI Advantage. L'échange des clés et des points de terminaison est automatique (OpenID Connect Dynamic Registration).
  4. L'outil apparaît à l'état « en attente ». Cliquer sur Activer.
  1. Open Siteadministratie › Plug-ins › Activiteitenmodules › Externe tool › Tools beheren.
  2. Voer de URL voor dynamische registratie in het veld Tool toevoegen in: https://perseus.ilearn.bibliosansfrontieres.be/lti/register
  3. Klik op LTI Advantage toevoegen. De uitwisseling van sleutels en eindpunten verloopt automatisch (OpenID Connect Dynamic Registration).
  4. Het gereedschap verschijnt met status « in afwachting ». Klik op Activeren.
Contre-indicationContra-indicatie

Ne pas utiliser le formulaire de configuration manuelle. Il produit une inscription LTI 1.1, incompatible avec le Deep Linking et les services de notes de cet outil. Une entrée créée de cette manière doit être supprimée avant de reprendre l'enregistrement dynamique. Gebruik het formulier voor handmatige configuratie niet. Het levert een LTI 1.1-registratie op, onverenigbaar met Deep Linking en de cijferdiensten van dit gereedschap. Een zo aangemaakte invoer moet worden verwijderd vooraleer de dynamische registratie wordt hernomen.

02 Mise à disposition des enseignants Beschikbaarstelling aan leerkrachten

  1. Ouvrir la fiche de l'outil.
  2. Régler Utilisation de la configuration de l'outil sur Afficher dans le sélecteur d'activités et comme outil préconfiguré.
  3. Purger les caches (Administration du site › Développement › Purger les caches).

Aucun droit supplémentaire n'est à accorder : la capacité mod/lti:addinstance, dont disposent les enseignants éditeurs par défaut, suffit.

  1. Open de fiche van het gereedschap.
  2. Zet Gebruik van de toolconfiguratie op Tonen in de activiteitenkiezer en als voorgeconfigureerde tool.
  3. Leeg de caches (Siteadministratie › Ontwikkeling › Caches legen).

Er hoeven geen bijkomende rechten te worden toegekend: de capaciteit mod/lti:addinstance, die bewerkende leerkrachten standaard bezitten, volstaat.

03 ParamètresInstellingen

ParamètreInstelling ValeurWaarde JustificationMotivering
Conteneur de lancement par défautStandaard startcontainer Intégrer, sans blocsInsluiten, zonder blokken Affichage dans la page du cours. Depuis Moodle 4.3, ce paramètre n'est plus modifiable au niveau de l'activité et s'applique à l'ensemble de l'outil. Weergave in de cursuspagina. Sinds Moodle 4.3 is deze instelling niet meer per activiteit wijzigbaar en geldt ze voor het hele gereedschap.
Partage du nomNaam delen JamaisNooit Valeur par défaut de Moodle. L'outil ne requiert pas cette donnée et ne l'enregistre pas si elle est transmise. Standaardwaarde van Moodle. Het gereedschap heeft dit gegeven niet nodig en registreert het niet indien het toch wordt doorgegeven.
Partage du courrielE-mail delen JamaisNooit Idem.Idem.
Services de notes (AGS)Cijferdiensten (AGS) ActivésIngeschakeld Condition de l'écriture des notes d'exercices dans le carnet. Désactivés, les exercices restent fonctionnels sans notation. Voorwaarde voor het wegschrijven van oefenresultaten in het cijferboek. Uitgeschakeld blijven de oefeningen werken zonder beoordeling.

Accès des utilisateurs non authentifiés Toegang voor niet-geauthenticeerde gebruikers

Le rôle Invité ne dispose pas de la capacité mod/lti:view par défaut ; les activités de l'outil lui sont donc invisibles. Pour ouvrir la consultation sans compte, accorder cette capacité au rôle Invité. Conséquences :

  • vidéos et articles consultables ;
  • exercices utilisables avec correction immédiate côté client ;
  • aucune note enregistrée, Moodle refusant l'écriture pour un utilisateur non inscrit au cours ;
  • tous les utilisateurs non authentifiés partagent l'identifiant du compte guest, ce qui rend inexploitable tout décompte de personnes distinctes pour ce trafic.

De rol Gast beschikt standaard niet over de capaciteit mod/lti:view; de activiteiten van het gereedschap zijn voor die rol dus onzichtbaar. Ken die capaciteit toe aan de rol Gast om raadpleging zonder account mogelijk te maken. Gevolgen:

  • video's en artikelen raadpleegbaar;
  • oefeningen bruikbaar met onmiddellijke verbetering aan clientzijde;
  • geen enkel cijfer bewaard, aangezien Moodle het wegschrijven weigert voor een gebruiker die niet in de cursus is ingeschreven;
  • alle niet-geauthenticeerde gebruikers delen de identificatie van het guest-account, waardoor elke telling van afzonderlijke personen voor dit verkeer onbruikbaar is.

Traitement des données à caractère personnel Verwerking van persoonsgegevens

Rôles des parties

  • Responsable du traitement : l'établissement exploitant la plateforme Moodle.
  • Sous-traitant : Bibliothèques Sans Frontières Belgique ASBL, au sens de l'article 28 du règlement (UE) 2016/679.
  • Acte requis : un contrat de sous-traitance conforme à l'article 28.3, fixant la finalité, les catégories de données, la durée de conservation et le sort des données en fin de contrat. Ce contrat n'est pas encore établi.

Finalité

Mesure de l'usage du contenu pédagogique mis à disposition : volumétrie par établissement et par cours, nombre d'apprenants distincts, fréquence de consultation. Aucun profilage, aucune décision individuelle automatisée, aucune transmission à des tiers, aucune activité publicitaire.

Données transmises par la plateforme à chaque lancement

Transmises par Moodle dans le jeton LTI signé. Toutes ne sont pas conservées : voir le tableau suivant.

DonnéeOrigineConservée
Émetteur de la plateformeissOui
Identité de la plateformetool_platform (nom, GUID, version)Nom et GUID
Identifiant utilisateursub — identifiant Moodle, opaque et stableNon, sous forme pseudonymisée uniquement
Courscontext.id, .label, .titleOui
Activitéresource_link.id, .titleNon
RôlerolesOui, réduit à apprenant / enseignant / autre
Languelaunch_presentation.localeOui
Groupes du coursparamètre $Moodle.Person.userGroupIdsOui, identifiants numériques
Identifiants scolaireslis.person_sourcedid, lis.course_section_sourcedidNon
Nom, prénom, courrielname, given_name, family_name, email — transmis uniquement si l'administrateur active le partageNon, en aucun cas
Points de terminaison de notationlti-ags/claim/endpointNon

Données conservées par le sous-traitant

Un enregistrement est écrit à chaque dépôt de contenu par un enseignant et à chaque ouverture d'un contenu, dans un journal au format JSON Lines (usage.jsonl).

ChampContenuNature
tHorodatage ISO 8601, précision à la secondeDonnée technique
ecole, ecoleNom, ecoleGuidÉmetteur, nom déclaré et identifiant de la plateformeDonnée d'organisation
classeId, classe, classeTitreIdentifiant, nom court et nom complet du coursDonnée d'organisation
groupesIdentifiants numériques des groupes Moodle de l'utilisateur dans ce coursDonnée d'organisation
roleapprenant, enseignant ou autreDonnée d'organisation
type, id, lgNature du contenu, identifiant Khan Academy, langue servieDonnée technique
uPseudonyme de l'utilisateur, voir ci-dessousDonnée à caractère personnel pseudonymisée
periodeÉtiquette de l'année scolaire de référence du pseudonymeDonnée technique

Données explicitement non conservées

  • nom, prénom, adresse de courrier électronique, nom d'utilisateur ;
  • identifiant d'utilisateur de la plateforme en clair ;
  • adresse IP de l'utilisateur dans le journal applicatif ;
  • cookie ou identifiant déposé sur le terminal — l'outil n'en dépose aucun ;
  • résultats des exercices : ils sont transmis au carnet de notes de la plateforme par le service AGS et ne sont pas conservés par le sous-traitant.

Le serveur web tient par ailleurs des journaux d'accès techniques standard, comprenant l'adresse IP, distincts du journal applicatif décrit ci-dessus. Leur durée de rotation est celle configurée sur le serveur et doit être documentée séparément.

Pseudonymisation

  • Procédé : HMAC-SHA-256 appliqué à la concaténation de l'émetteur, de l'identifiant client et de l'identifiant utilisateur, tronqué à 16 caractères hexadécimaux.
  • Clé : secret de 32 octets propre au service, distinct de la clé de signature LTI, stocké hors du dépôt de code en droits 600.
  • Rotation : la clé intègre l'étiquette de l'année scolaire et change au 1er août. Le rapprochement d'un même utilisateur d'une année scolaire à l'autre est donc impossible.
  • Cloisonnement : l'émetteur entrant dans le calcul, un même utilisateur présent sur deux plateformes produit deux pseudonymes sans lien.
  • Réversibilité : aucune. La destruction du fichier de clé rend l'ensemble du journal définitivement non rattachable.

Conformément à l'article 4.5 et au considérant 26 du règlement, cette donnée demeure une donnée à caractère personnel et n'est pas une donnée anonyme.

Durée de conservation

Règle arrêtée
  • Données détaillées : 3 ans. Tout enregistrement portant un pseudonyme est supprimé ou anonymisé au plus tard 1095 jours après sa création.
  • Données agrégées anonymes : conservation illimitée. Ces agrégats ne contiennent plus de donnée à caractère personnel.

Le dispositif technique de dégradation prévoit trois états successifs :

  1. Enregistrement brut, horodaté à la seconde. Nécessaire au calcul des séances de consultation. Relève des données détaillées.
  2. Agrégat hebdomadaire par période, semaine, établissement, cours et pseudonyme : nombre d'ouvertures et de séances. L'horodatage précis est supprimé. État intermédiaire facultatif, qui relève encore des données détaillées et reste donc soumis au délai de 3 ans.
  3. Agrégat anonyme par établissement, cours et semaine : nombre d'apprenants distincts, d'ouvertures et de séances. Le pseudonyme est supprimé ; cet état ne contient plus de donnée à caractère personnel et est conservé sans limitation de durée.
Mise en oeuvre

La purge est réalisée par l'utilitaire outils/purger_usage.py, option --anonymiser-apres 1095. Son exécution n'est pas encore planifiée sur le serveur ; la tâche périodique doit être installée avant toute mise en production.

Les enregistrements de dépôt de contenu par un enseignant ne sont pas agrégés ; ils perdent le pseudonyme au premier palier.

Hébergement et localisation

  • Serveur unique, Amazon Web Services, région eu-west-3 (Paris).
  • Aucun transfert de données hors de l'Union européenne dans le fonctionnement nominal du service.
  • Le fournisseur d'hébergement relève d'une société de droit états-unien ; ce point doit être apprécié par le responsable du traitement au regard de sa propre analyse.

Recours à un tiers : lecteur vidéo

Les vidéos sont diffusées par YouTube. À l'ouverture d'une activité vidéo, le navigateur de l'utilisateur établit une connexion directe avec les serveurs de Google, qui reçoivent à ce titre son adresse IP et les caractéristiques de son navigateur. Le lecteur est appelé sur le domaine youtube-nocookie.com, qui ne dépose pas de cookie publicitaire avant le déclenchement de la lecture. Ce traitement relève de la relation entre l'utilisateur et Google et doit figurer dans l'information délivrée aux personnes concernées.

Exercice des droits

Le sous-traitant ne peut identifier une personne à partir de son journal. Une demande d'accès, de rectification ou d'effacement suit donc la procédure suivante :

  1. la personne concernée s'adresse à l'établissement, responsable du traitement ;
  2. l'établissement relève l'identifiant utilisateur Moodle de la personne ;
  3. l'établissement transmet cet identifiant au sous-traitant ;
  4. le sous-traitant recalcule le pseudonyme correspondant et traite les enregistrements concernés.

La rotation annuelle de la clé limite cette opération aux périodes dont la clé est encore détenue.

Interruption du traitement

Le journal applicatif peut être désactivé intégralement par configuration du service, sans incidence sur le fonctionnement pédagogique de l'outil. Une variante réduisant la clé de pseudonymisation à une rotation quotidienne est également disponible : elle supprime toute mesure de fréquence et ne permet plus que le décompte d'apprenants distincts par jour.

Rollen van de partijen

  • Verwerkingsverantwoordelijke: de instelling die het Moodle-platform exploiteert.
  • Verwerker: Bibliotheken Zonder Grenzen België vzw, in de zin van artikel 28 van verordening (EU) 2016/679.
  • Vereiste akte: een verwerkersovereenkomst conform artikel 28.3, die het doel, de categorieën gegevens, de bewaartermijn en de bestemming van de gegevens bij het einde van de overeenkomst vastlegt. Deze overeenkomst is nog niet opgesteld.

Doeleinde

Meting van het gebruik van de ter beschikking gestelde pedagogische inhoud: volume per instelling en per cursus, aantal afzonderlijke lerenden, raadpleegfrequentie. Geen profilering, geen geautomatiseerde individuele besluitvorming, geen doorgifte aan derden, geen reclameactiviteit.

Gegevens die het platform bij elke start doorgeeft

Doorgegeven door Moodle in het ondertekende LTI-token. Niet alle gegevens worden bewaard: zie de volgende tabel.

GegevenHerkomstBewaard
Uitgever van het platformissJa
Identiteit van het platformtool_platform (naam, GUID, versie)Naam en GUID
Gebruikersidentificatiesub — Moodle-identificatie, opaak en stabielNee, uitsluitend in gepseudonimiseerde vorm
Cursuscontext.id, .label, .titleJa
Activiteitresource_link.id, .titleNee
RolrolesJa, herleid tot lerende / leerkracht / andere
Taallaunch_presentation.localeJa
Groepen van de cursusparameter $Moodle.Person.userGroupIdsJa, numerieke identificaties
Schoolidentificatieslis.person_sourcedid, lis.course_section_sourcedidNee
Naam, voornaam, e-mailname, given_name, family_name, email — enkel doorgegeven indien de beheerder het delen activeertNee, in geen geval
Eindpunten voor beoordelinglti-ags/claim/endpointNee

Door de verwerker bewaarde gegevens

Bij elke plaatsing van inhoud door een leerkracht en bij elke opening van een inhoud wordt één record weggeschreven in een logbestand in JSON Lines-formaat (usage.jsonl).

VeldInhoudAard
tISO 8601-tijdstempel, precisie op de secondeTechnisch gegeven
ecole, ecoleNom, ecoleGuidUitgever, opgegeven naam en identificatie van het platformOrganisatiegegeven
classeId, classe, classeTitreIdentificatie, korte naam en volledige naam van de cursusOrganisatiegegeven
groupesNumerieke identificaties van de Moodle-groepen van de gebruiker in die cursusOrganisatiegegeven
rolelerende, leerkracht of andereOrganisatiegegeven
type, id, lgAard van de inhoud, Khan Academy-identificatie, aangeboden taalTechnisch gegeven
uPseudoniem van de gebruiker, zie hieronderGepseudonimiseerd persoonsgegeven
periodeLabel van het referentieschooljaar van het pseudoniemTechnisch gegeven

Uitdrukkelijk niet bewaarde gegevens

  • naam, voornaam, e-mailadres, gebruikersnaam;
  • gebruikersidentificatie van het platform in leesbare vorm;
  • IP-adres van de gebruiker in het toepassingslogboek;
  • cookie of identificator op het eindapparaat — het gereedschap plaatst er geen;
  • resultaten van de oefeningen: die worden via de AGS-dienst naar het cijferboek van het platform gestuurd en worden door de verwerker niet bewaard.

De webserver houdt daarnaast standaard technische toegangslogs bij, met het IP-adres, onderscheiden van het hierboven beschreven toepassingslogboek. Hun rotatietermijn is die welke op de server is ingesteld en moet afzonderlijk worden gedocumenteerd.

Pseudonimisering

  • Procedé: HMAC-SHA-256 toegepast op de aaneenschakeling van de uitgever, de client-identificatie en de gebruikersidentificatie, afgekapt op 16 hexadecimale tekens.
  • Sleutel: geheim van 32 bytes eigen aan de dienst, onderscheiden van de LTI-ondertekeningssleutel, bewaard buiten de codebasis met rechten 600.
  • Rotatie: de sleutel bevat het label van het schooljaar en verandert op 1 augustus. Het koppelen van eenzelfde gebruiker over schooljaren heen is dus onmogelijk.
  • Compartimentering: doordat de uitgever in de berekening zit, levert eenzelfde gebruiker op twee platformen twee ongerelateerde pseudoniemen op.
  • Omkeerbaarheid: geen. Vernietiging van het sleutelbestand maakt het volledige logboek definitief niet-toewijsbaar.

Overeenkomstig artikel 4.5 en overweging 26 van de verordening blijft dit gegeven een persoonsgegeven en is het geen anoniem gegeven.

Bewaartermijn

Vastgelegde regel
  • Gedetailleerde gegevens: 3 jaar. Elk record met een pseudoniem wordt uiterlijk 1095 dagen na aanmaak verwijderd of geanonimiseerd.
  • Anonieme geaggregeerde gegevens: onbeperkte bewaring. Deze aggregaten bevatten geen persoonsgegevens meer.

De technische voorziening voor degradatie voorziet drie opeenvolgende toestanden:

  1. Ruw record, op de seconde getijdstempeld. Nodig voor de berekening van raadpleegsessies. Valt onder de gedetailleerde gegevens.
  2. Wekelijks aggregaat per periode, week, instelling, cursus en pseudoniem: aantal openingen en sessies. De precieze tijdstempel wordt verwijderd. Facultatieve tussentoestand die nog onder de gedetailleerde gegevens valt en dus aan de termijn van 3 jaar onderworpen blijft.
  3. Anoniem aggregaat per instelling, cursus en week: aantal afzonderlijke lerenden, openingen en sessies. Het pseudoniem wordt verwijderd; deze toestand bevat geen persoonsgegevens meer en wordt onbeperkt bewaard.
Uitvoering

De opschoning gebeurt met het hulpprogramma outils/purger_usage.py, optie --anonymiser-apres 1095. De uitvoering ervan is nog niet ingepland op de server; de periodieke taak moet vóór elke uitrol in productie worden geïnstalleerd.

Records van inhoudsplaatsing door een leerkracht worden niet geaggregeerd; ze verliezen het pseudoniem bij de eerste trap.

Hosting en lokalisatie

  • Eén server, Amazon Web Services, regio eu-west-3 (Parijs).
  • Geen doorgifte van gegevens buiten de Europese Unie in de nominale werking van de dienst.
  • De hostingleverancier valt onder een vennootschap naar Amerikaans recht; dit punt moet door de verwerkingsverantwoordelijke worden beoordeeld in het licht van de eigen analyse.

Beroep op een derde: videospeler

De video's worden door YouTube aangeboden. Bij het openen van een video-activiteit maakt de browser van de gebruiker een rechtstreekse verbinding met de servers van Google, die daarbij zijn IP-adres en de kenmerken van zijn browser ontvangen. De speler wordt aangeroepen op het domein youtube-nocookie.com, dat vóór het starten van het afspelen geen reclamecookie plaatst. Deze verwerking valt onder de relatie tussen de gebruiker en Google en moet worden opgenomen in de informatie aan de betrokkenen.

Uitoefening van rechten

De verwerker kan een persoon niet identificeren op basis van zijn logboek. Een verzoek tot inzage, rectificatie of wissing verloopt dus als volgt:

  1. de betrokkene wendt zich tot de instelling, verwerkingsverantwoordelijke;
  2. de instelling zoekt de Moodle-gebruikersidentificatie van de persoon op;
  3. de instelling bezorgt die identificatie aan de verwerker;
  4. de verwerker herberekent het overeenkomstige pseudoniem en behandelt de betrokken records.

De jaarlijkse sleutelrotatie beperkt deze verrichting tot de perioden waarvan de sleutel nog wordt bewaard.

Stopzetting van de verwerking

Het toepassingslogboek kan volledig worden uitgeschakeld via de configuratie van de dienst, zonder gevolgen voor de pedagogische werking van het gereedschap. Er bestaat ook een variant die de pseudonimiseringssleutel dagelijks laat roteren: die schakelt elke frequentiemeting uit en laat enkel nog de telling van afzonderlijke lerenden per dag toe.

DépannageProbleemoplossing

L'outil n'apparaît pas dans le sélecteur d'activités. Het gereedschap verschijnt niet in de activiteitenkiezer.
Vérifier successivement : l'outil est activé ; son usage est réglé sur Afficher dans le sélecteur d'activités ; les caches ont été purgés. Controleer achtereenvolgens: het gereedschap is geactiveerd; het gebruik staat op Tonen in de activiteitenkiezer; de caches zijn geleegd.
Une sélection de plusieurs contenus ne crée qu'une activité. Een selectie van meerdere inhouden maakt slechts één activiteit aan.
Limitation de Moodle référencée MDL-74593 : la création multiple n'opère qu'à partir d'une instance neuve, c'est-à-dire depuis le sélecteur d'activités du cours, et non depuis une activité déjà enregistrée. Moodle-beperking met referentie MDL-74593: meervoudig aanmaken werkt enkel vanuit een nieuwe instantie, dus vanuit de activiteitenkiezer van de cursus, en niet vanuit een reeds opgeslagen activiteit.
Les notes ne sont pas écrites au carnet. De cijfers worden niet in het cijferboek geschreven.
Moodle n'accepte un score que pour un utilisateur inscrit au cours et porteur d'un rôle figurant dans $CFG->gradebookroles. Un administrateur non inscrit obtient un refus en HTTP 400 assorti d'un message évoquant un score incorrect, alors que la charge utile est valide. Effectuer le test avec un compte étudiant inscrit. Moodle aanvaardt een score enkel voor een gebruiker die in de cursus is ingeschreven en een rol uit $CFG->gradebookroles draagt. Een niet ingeschreven beheerder krijgt een weigering met HTTP 400 en een melding over een onjuiste score, hoewel de payload geldig is. Voer de test uit met een ingeschreven studentaccount.
Le lecteur vidéo reste vide. De videospeler blijft leeg.
Vérifier que le filtrage web autorise youtube-nocookie.com et i.ytimg.com. À défaut, le lien figurant sous le cadre ouvre la vidéo dans un onglet. Controleer of de webfilter youtube-nocookie.com en i.ytimg.com toelaat. Zo niet, opent de link onder het kader de video in een tabblad.