Archive for Archives

Caractères spéciauxSpecial chars

Pour une application web, il faut s’attendre à ce qu’une chaine de caractères issue d’un input, d’un prompt ou d’une textarea passent par du javascript, une url, php, du sql, du json et revienne en html, css, svg, en alert via le mail ou dans un eval ou une expression régulière.

Dans l’ordre alphabétique :

  • alert
  • css
  • eval
  • expression régulière
  • html
  • input
  • javascript
  • json
  • mail
  • php
  • prompt
  • sql
  • svg
  • textarea
  • url

Où l’on trouve des langages de programmation, des formats de données, des fonctions et des formats de communication.

Il ne faut pas espérer qu’une chaine de caractères puisse traverser tout cela sans soucis. Et malheureusement, les embuches dépendent de l’étape.

Les caractères gênants peuvent être (selon l’étape) :

  • les lettres accentuées ou comportant de petits ajouts : à, é, ê, ç, ñ, …
  • les caractères délimitant : « , ‘, <, >, [, ], …
  • les caractères d’échappement : \, &, …
  • les caractères spéciaux : $, _, ?, =, …

Pour constater l’étendue du problème, regarder ce qui est dit, juste pour certains langage de programmation : http://rosettacode.org/wiki/Special_characters

CouchDB, …CouchDB, …

Javascript continue de faire des adeptes ! Après que d’autres aient essayé de mettre du XML, ou des triplets (ou du rdf, i.e. des triplets xml) dans une bd, des membres de la fondation Apache ont essayé de mettre des objets javascripts dans une BD (JSON): CouchDB. Et pourquoi pas aussi du code et du html ? le tout pour faire une application web, si c’est possible: CouchApp. Au final, on obtient donc une environnement NoSQL permettant le développement d’application web standard (client leger + bd) avec comme seul langage de programmation nécessaire le javascript (ni php, ni ruby, ni …). Le tout accessible, à partir d’un navigateur web et exposé à tous les utilisateurs (open de bout en bout, de la présentation, au code métier, jusqu’aux données !)

Seulement du javascript ? oui, enfin, c’est un peu vite dit, dans la version proposé initialement, c’est du javascript+jquery+evently+mustache+prototype. Mais bon, pour les puristes, on peut enlever le jquery+evently+mustache+prototype (il faut mesurer ce que cela apporte et ce que cela coute ! depuis que j’utilise javascript, j’ai eu le temps de voir arriver/passer : prototype, script.aculo.us, dojo, rico, ext, yui, mootools, mochikit, qooxdoo, jquery, node, underscore, evently, mustache, vanilla, commonJS, … sachant que les navigateurs sont de plus en plus conformes à la norme javascript.).

Enfin, bref, le temps de mettre au point quelques lignes (euh, disons un petit mois, mais seulement dans mes moments libres, ce qui limite pas mal le temps de travail effectif, mais permet de maturer et de mesurer la motivation), et voila une première appli (compte guest, mot de passe guest) chez un hébergeur « gratuit » (ce qui explique les nécessités de login/mdp ?) : https://denisb.couchappy.com/mem/_design/mem/index.html

Avec la bd au même endroit que le html/code, il n’y a plus de problème de « same origine policy », mais il reste à voir comment la gestion de la sécurité peut s’effectuer et si l’on arrive à partager le code/données facilement (même à l’intérieur du cadre « CouchDB/CouchApp »).

Evolutions pédagogiquesCursus changes

D’une année à l’autre, les cours changent. Ce ne sont pas forcément de gros changements. Les étudiants (redoublants ou pas) ne le voient pas forcément. Mais dans les détails, il y a souvent des tentatives, modifications, etc.

Par exemple, pour le cours de PLC, que j’effectue en L3-Miage, à Grenoble, depuis une demi-douzaine d’années, il y a eu :

  • Variations sur le contenu :
    • Versions avec +/- de gel et pseudo-parallélisme
    • Versions avec +/- d’arbres infinis rationnels et d’algorithmique des graphes
    • Versions avec -/+ de langages formels
    • Versions avec différentes présentations/explicitations/formalisations de la récursivité
  • Variations sur le cours/td :
    • Versions avec -/+ de démo dans le cours (dont première séance, en particulier)
    • Versions avec -/+ d’algorithmique
    • Versions avec -/+ d’exercices en cours
  • Variations sur les documents :
    • Versions avec -/+ de documents
    • Versions avec vidéos
    • Versions avec documents sur web perso/Moodle
  • Variations sur ProLog :
    • Versions avec arbre/listes de listes
    • Versions avec +/- d’arithmétique
    • Versions avec swi/edba
  • Variations sur EDBA
    • Versions avec -/+ d’exercices enregistrés
    • Versions avec -/+ d’exercices associés aux tp
    • Versions avec -/+ d’aide
    • Versions avec -/+ d’arithmétique aidée
  • Variations sur les tps :
    • Version avec 1 tp en salle + 3 tp pour le cc à la maison
    • Version avec 2 tp pour le cc à la maison
    • Version avec 1 tp en cours + 2 tp pour le cc à la maison
  • Variations sur les CC en cours :
    • Version avec des 2 CC + 1 QCM
    • Version avec des 2 CC dont un avec sujet double
    • Version avec 1 CC
    • Version avec x CC de 1h/1h30
  • Variations sur les examens :
    • Versions avec +/- d’exercices indépendants
    • Versions avec +/- de questions indépendantes

Pour autant, la matière reste difficile et les résultats des étudiants aux examen à peine satisfaisants.

Résumé (english word from french)

Denis Bouhineau is an associate professor in Computer Science involved in the design and the evaluation of TEL environments (Technology Enhanced Learning Environments).

Alumnus of the École Normale Supérieure de Lyon (89-93), he received a PhD in Computer Science in 1997 on theoretical and practical aspects related to the teaching of geometry with Dynamic Geometry.  Thereafter, he evolved to the education of Algebra with a computer system that combined microworld and CAS features (2000-08: Aplusix). Since 2008, he has been working on web applications for teaching algorithms (EDBA). He is also an active member of the recent UnderTracks projects (2010) specifically concerned with the design of efficient, appropriate and applicable models for sharable data and analysis processes of learner’s interactions with TEL environments.

Droits d’auteur à l’université (en particulier sur les plateformes numériques)

Est-on propriétaire des supports (numériques) de son cours à l’université ?

En matière de droits d’auteurs, il faut distinguer les droits moraux et les droits patrimoniaux. Ici, je vais essayer de résumer mes (petites) lectures (récentes – Oct 2013) sur la question de la propriété des pages/documents/supports numériques que l’on peut produire pour ses cours et mettre à la disposition des étudiants pour réaliser son enseignement (sur le web, des lms [ex. : Moodle], des plateformes de partages de documents, de vidéos, etc.). Ces créations de l’esprit sont-elles encore à moi, ou appartiennent-elles à l’université, éventuellement au public qui les as reçu ?

Pour comprendre la situation il faut lire la loi :

  • code de la propriété intellectuelle (http://www.legifrance.gouv.fr/affichCode.do?cidTexte=LEGITEXT000006069414)
  • code le l’éducation (http://www.legifrance.gouv.fr/affichCode.do?cidTexte=LEGITEXT000006071191)

mais ce n’est pas suffisant ou assez clair, en particulier le code de l’éducation ne dit pas grand chose sur la question.

Il faut donc poursuivre la lecture, par exemple :

  • un/e bon/e rappel/synthèse de la loi et quelques commentaires : http://fr.jurispedia.org/index.php/Droits_d%27auteur_des_agents_publics_%28fr%29
  • le contexte et un rappel de la loi (p. 32) : http://media.education.gouv.fr/file/2008/08/3/universitenumerique_22083.pdf

À force, il ressort de ces lectures (en privilégiant les plus sérieuses) que la position de l’enseignant du supérieur est la suivante (c’est l’exception dans l’exception) :

Le droit standard s’applique : l’enseignant du supérieur possède les droits moraux et patrimoniaux sur son œuvre.

Attention, à ne pas confondre avec la position de l’enseignement primaire ou secondaire, où la situation est moins favorable à l’enseignant (à partir du moment où il y a création et divulgation d’une œuvre dans le cadre d’un enseignement, les droits de l’enseignant sont restreints, en particulier, il n’a plus accès -quand cela a du sens- au droit de retrait).

Cela n’interdit pas des pratiques dans le supérieur où les œuvres sont propriétés de l’université, cela peut se faire via des contrats supplémentaires pour que l’université soit propriétaire de ces œuvres (ex. : http://www.univ-angers.fr/fr/vie-a-l-universite/services-numeriques/audiovisuel.html).