| LES TECHNOLOGIES INFORMATIQUES DANS L'ENSEIGNEMENT DES SCIENCES HUMAINES |
![]() |
|
LE MANDAT Le Comité sur les nouvelles technologies de l'information au programme de sciences humaines est formé de trois professeurs ayant pour mandat d'accroître leur expertise dans le domaine de la pédagogie assistée par ordinateur et d'épauler leurs collègues qui souhaitent s'y initier. LES
ATELIERS LES
RUBRIQUES APPLICATIONS
AVANCÉES LES
COURRIELS DOCUMENTS
INTERNES |
Les textes suivants sont une compilation des courriels acheminés depuis quatre ans sur le Forum des concepteurs web du Cégep du Vieux Montréal. Ils peuvent encore donner un bon coup de main afin de maximiser l'usage des ressources informatiques du collège.
|
|
Communiquer avec ses étudiants
Nous recevons tous des travaux par courriel.
Quand il n'y en a pas trop ça se gère assez bien. Reste que si on
demande aux étudiants de nous envoyer systématiquement un travail par Internet
les inconvénients sont sans nombre: traiter les «fichiers-attachés-tapés-en-AmiPro
version 0.0 Mac», reconnaître leur mise en page exotique et surtout se
transformer littéralement en imprimante pour enfin arriver à corriger le
travail. Deux outils que j'utilise et qui pourraient en intéresser qlq
uns.
1. POUR RECEVOIR UN TRAVAIL
Simple à utiliser, un
formulaire web qui envoie un message à l'administrateur du site.
Cependant, derrière des apparences insignifiantes, ce script est en fait doté
de puissants atouts:
· NOM et SUJET sont obligatoires
· Contrairement au programme WSENDMAIL, ici on reçoit nécessairement le
courriel de l'expéditeur puisque le tout est géré par sa boîte d'envoi. Par
ailleurs, finis les Yahoo! et les HotMail énigmatiques...
· On reçoit aussi le OS, le nom du serveur de courrier et le navigateur
de l'expéditeur. Pratique pour savoir en particulier si le travail a été
fait au cégep.
· L'étudiant timide n'a pas à ouvrir son logiciel de courrier pour nous
écrire.
· L'étudiant distrait n'a pas à se souvenir de notre courriel.
En plus,
· Selon le SUJET sélectionné on peut acheminer le message à différents
destinataires. Pratique quand on travaille à plusieurs sur un site ou si
plusieurs profs se regroupent pour demander un même travail
· Les champs DATE et HEURE peuvent paraître inutiles mais on s'en sert
pour connaître l'heure exacte où le message a été envoyé, pas l'heure où
il a été reçu.. Because les dates de remise.
- Il est entièrement «client-side»
c'est à dire que tout est dans le HTML. C'est un script assez imposant (6
k) mais qui se configure assez bien.
DÉMO: http://www.cvm.qc.ca/glaporte/CVM/formulaire_courriel.htm
2. MAINTENANT, POUR
ACHEMINER LA CORRECTION...
Pour certains travaux, je recours à un formulaire de commentaires préfabriqués.
Ça permet d'envoyer rapidement des commentaires standardisés, de faire pour
chaque copie un nombre substantiel de remarques, de ne pas avoir à tout
imprimer et de ne pas se laisser déborder par la correction de plusieurs petits
travaux hebdomadaires par exemple.
Le principe est tout bête. On entre le courriel de l'étudiant et, par
une série de cases à cocher, on lui envoie un non tel ou tel commentaire suite
à la lecture de son travail. Bien sûr je ne corrigerais pas un travail de
session de cette manière, mais ça convient bien pour de petits travaux à la
facture uniforme et/ou que l'étudiant doit répéter à plusieurs reprises
durant la session (ex. un journal de bord).
L'exemple que je fournis est conçu pour corriger la présentation d'une
bibliographie commentée. Les champs destinataires y sont déjà prévus, mais
vous pouvez aussi bien laisser une zone texte pour écrire manuellement le
courriel de l'étudiant. En consultant le SOURCE vous verrez que chaque
case «cochable» renvoie en fait à des commentaires élaborés et standardisés.
Le commentaire «moyen» est la valeur par défaut. Le mot de passe est
requis dans mon exemple. Ce formulaire peut être utilisé avec maito, wsendmail
ou, comme dans ce cas-ci, un script de votre cru. Ce démo contient pas mal de
bidules qui pourraient nuire à votre compréhension. Par conséquent, si
le principe vous intéresse, le mieux est de m'écrire. glaporte@cvm.qc.ca
DÉMO: http://www.cvm.qc.ca/glaporte/metho/updateTP7.htm
Contraindre la navigation par des pages dynamiques
LE PROBLÈME: «Sur
mon site j'ai une barre de menu qui permet aisément à l'étudiant de se
promener sur l'ensemble du site. Toutefois, si à certaines pages je place
des exercices évalués, j'aimerais bien placer les réponses sur une autre pour
que, après coup, l'étudiant puisse comparer ses réponses. Comment faire
pour qu'il n'ait pas bêtement à accéder à la page des réponses pour réaliser
l'exercice?»
MA RÉPONSE: «Un site pédagogique implique une certaine gestion du temps, des
dates de remise et surtout que certaines pages ne soient pas visibles avant un délai
quelconque. Il existe de nombreux scripts «client-side» qui permettent aisément
de gérer l'accès à certaines pages en fonction de la date.
L'énoncé ressemble en général à ça:
if ((mois ==8) &&
(date > 1) && (date< 8)) document.write("<a href=EXERCICE.htm>PAGE
DE L'EXERCICE</a>");
if ((mois==8) && (date > 9) && (date< 16)) document.write("<a
href=SOLUTIONS.htm>PAGE DES SOLUTIONS</a>");
On peut s'en servir pour de
nombreux autres usages qui facilitent la navigation et dynamisent les pages d'un
site. Par exemple il me permet en particulier de ne rendre visible un
exercice que pour une période limitée. Si bien qu'on peut planifier l'accès
aux pages dès avant le début de la session (évidemment le script ne prévoit
ni les grèves, ni les tempêtes…)
Pour un démo, consultez la SOURCE de cette page de mon cours de métho:
http://www.cvm.qc.ca/glaporte/metho/jour.htm
J'en profite que CIGOGNE a
l'air de fonctionner pour envoyer de nouveau ce message qui n'a pas l'air de s'être
rendu la première fois. Désolé
si toutefois vous l'aviez déjà reçu.
Le matériel que produisent mes étudiants dans le cadre du
cours de méthodologie se place automatiquement sur le web. J'ai
ainsi eu à faire un formulaire d'analyse de sites web qu'ils
doivent remplir sur un thème de recherche de leur choix. Si j'en parle
ici c'est que plusieurs d'entre vous demandez à vos étudiants d'aller sur
Internet et de faire le compte-rendu des sites visités. Or le problème
est quand c'est remis sur papier. Difficile alors de cliquer pour vérifier les
liens... S'ils vous l'envoient par courriel ça demeure embêtant et le résultat
ne sera jamais visible pour les autres étudiants et la collectivité. Je
vous soumets ici une version «allégée» de ce programme. Le
formulaire requiert le NOM, LE TITRE DE LA PAGE, l'URL et la DESCRIPTION du
site. Le tout est mis en queue dans une page HTML où le titre du site
devient cliquable. On obtient ce résultat par cette simple (et simplifiée...)
commande PerlHTML:
sub print_record {
print $NOM<br><A HREF="
. $URL . ">" . $TITRE . "</A><br>
$DESC</B><p>\n";
}
Le nom des champs dans le formulaire est NOM, URL, TITRE et
DESCription. Cette commande fait du titre un hyperlien. Le résultat
paraît assez professionnel. Les étudiants contribuent ainsi à
construire une page de liens collective que tous peuvent consulter en tout temps
et sans avoir ni à programmer ni à télécharger quoi que ce soit.
Le formulaire est ici: http://www.cvm.qc.ca/glaporte/metho/sites.htm .
Essayez-le, je l'ai fait juste pour ça...
La page des résultats est là: http://www.cvm.qc.ca/scriptsglaporte/sites.pl
Si ça vous intéresse, juste me désigner vos spécifications de mise en page
et je vous enverrai le fichier-formulaire à placer sur votre répertoire (genre
SITES.HTM).
J'ai
recu un intéressant courriel de Bernard Collin à propos des tests en ligne.
Il nous réfère en particulier à son exemple à http://www.cvm.qc.ca/ccollin//didactique/password.class.
Bernard nous place en fait au cœur du vrai débat à propos des formulaires
autoadministrés: la sécurité. Depuis
un bon moment que je potasse dans ces problèmes je me permet de commenter
certaines de ses remarques pour le bénéfice du Groupe.
1- Problème : Comment établir une certaine sécurité afin d'être sur que l'élève
qui soumet le questionnaire est bien celui identifié sur ce même
questionnaire? Et, puisque le site est sur Internet, comment prévenir que
n'importe qui s'amuse à soumettre des quiz?
La seule façon dont j'ai pu adresser ce problème a été d'ajouter
quelques champs d'identification de l'élève : son nom; matricule; numéro de
groupe; et, son courriel (puisque l'élève peut répondre au questionnaire de
n'importe ou.) Comme vous pouvez le constater la sécurité est élémentaire.
Les champs d'identifications sont obligatoires mais quelqu'un peut tout de même
parvenir à connaître ces informations sur un autre élève et donc fausser les
résultats.
C'est
une bonne manière de fonctionner mais qui m'a déjà posé une infinité de
problèmes, surtout quand la note est affichée immédiatement après l'envoi.
Des étudiants peuvent ainsi se «pratiquer» sous un faux nom jusqu'à ce
qu'ils aient toutes les bonnes réponses!..
Le moyen auquel j'en suis venu est d'attribuer un mot de passe distinct
pour chaque étudiant. Ça se fait assez vite au début de la session. Je leur
laisse même choisir le leur. Ce mot de passe leur sert à 1) s'inscrire au
cours 2) acheminer des formulaires autoadministrés et 3) à consulter leur
dossier. Le plus sécuritaire est de faire un «combo box» où on
verrouille le nom de tous ceux qui sont habilités à s'inscrire ou à faire le
test et de l'associé à un mot de passe individuel.
L'intérêt avec les «combo box» est aussi que la désignation de l'expéditeur
est standardisée et est toujours placée au bon endroit dans une base de données
par exemple. On n'a alors plus à se battre avec les histoires d'accent ou de
majuscules. On se prémunit contre les petits «hackers» en plaçant la banque
des mots de passe dans un fichier JS ailleurs (dans ce cas login.js).
Quant aux scripts à la mode qui n'autorisent à n'envoyer qu'une fois un
formulaire, croyez-moi, il ne tiennent pas la rampe...
UN EXEMPLE: http://www.cvm.qc.ca/glaporte/metho/cours021.htm.
Si vous voulez vous même tenter l'expérience, dans le groupe Les Simpson,
choisissez l'usager «administrateur» et le mot de passe «laporte»
2- J'aimerais bien trouver une façon alternative de faire les quiz et que ceux-ci
soient compilés, que Claude ainsi que les élèves puissent avoir accès aux résultats.
Il faudrait pour ceci intégrer les quiz aux fonctionnalités de votre Intranet
tout en laissant la possibilité d'accès par Internet, je crois... Possible?
Possible
mais, à ma connaissance, seulement avec CGI ou surtout ASP. Bien que certains
profs font des prodiges avec leur Outlook en gérant toutes sortes de dossiers,
ça ne règle pas la question de l'accès.
D'autre part, l'intranet ou le dossier REMISE ne sont pas évidents pour
les étudiants. Vous savez comme
moi combien il est compliqué de leur en expliquer l'usage.
J'utilise un gestionnaire de dossier depuis deux sessions avec succès.
Les formulaires n'empruntent plus le courrier électronique.
Ils sont automatiquement placés en queue dans un fichier «log».
L'étudiant peut en tout temps visualiser le matériel qu'il a déjà
acheminé et les notes qu'il y a obtenues en recourant à son mot de passe.
UN EXEMPLE http://www.cvm.qc.ca/glaporte/metho/consulter.htm
(Le mot de passe «gilles» fonctionne pour tous. PS: Gardez ça pour vous…).
3- Le script de recherche sur le site est déjà beaucoup trop lourd (il
contient 50% du texte de toutes les pages du site), le fichier est énorme
(555k) je ne peux donc y ajoutez des données additionnelles. Dû à la grosseur
du site, il est important que l'élève puisse effectuer une recherche se
limitant au site, un autre engin de recherche pourrait être ajouté pour faire
une recherche sur le site du collège et un troisième pour les sites extérieurs
mais sans mélanger les trois. […] Le site contient présentement 25% de ce
qui est planifié à long terme. J'en suis à un point ou il m'est difficile de
poursuivre. Il faudrait refaire le site au complet le rendant plus facile à
mettre à jour sans toutefois sacrifier le contenu, la navigation, les fonctions
ainsi que l'esthétique.
En
effet, au delà d'un certain seuil on doit disposer d'un vrai moteur booléen
sinon certaines pages risquent d'être sous-utilisées, sans compter les délais
pour le traitement (toujours l'inconvénient avec le «client side»). En matière
de moteur de recherche et de bases de données, toutes les variantes de Java
atteignent vite leur seuil d'incompétence. ASP et la dernière version de Perl
permettent en revanche de chercher dans des pages web déjà existentes.
On peut donc disposer d'un véritable moteur de recherche sur tout un répertoire
sans avoir à refaire l'architecture de ses fichiers.
Il y en a de nombreux exemples à http://cgi.resourceindex.com/Programs_and_Scripts/Perl/.
Quand j'ai refait mon site des Patriotes l'an dernier j'ai plutôt choisi de
tout bouziller et de tout placer dans un méga-fichier texte (Voir http://www.cvm.qc.ca/scriptsglaporte).
À long terme c'est la seule solution pour un aussi gros (et magnifique) site
que le vôtre.
Sondage auprès de ses étudiants
L'Actualité est aux élections,
au vote sur bulletin ou sur Internet, sur les notes en lettres ou en chiffres
mais, en ce qui nous concerne, l'heure est surtout aux évaluations de fin de
session. Reste qu'on discute aussi pas mal d'évaluation de l'enseignement
et sur des moyens modernes, mais respectueux d'assurer un sain échange avec nos
étudiants.
Vous proposer un «WebPoll» n'a bien sûr rien d'original, mais il reste que ça
peut être un excellent moyen d'obtenir un signal de ses étudiants sans trop se
casser la tête avec la compilation des résultats d'un sondage papier.
J'ai initialement trouvé ce script chez Greg
Billock et l'ai ensuite adapté à nos besoins. Il offre pour nous
deux grands avantages.
1- Il est totalement protégé par mot de passe; autant
pour rendre actif le sondage que pour sélectionner ceux qui ont droit d'y
participer.
2- Mais surtout il est hyper simple à paramétrer.
Je me suis décidé il y a à peine deux heures à l'implanter et il m'a permis
en quelques minutes d'entrer une série de questions que je veux poser à mes étudiants.
Il s'agit d'activer un formulaire très simple où on entre la ou les questions,
ainsi que les choix de réponses. On peut ainsi se bâtir un sondage avec autant
de questions qu'on veut en quelques instants.
Il demeure évidemment certains inconvénients . Le premier est que l'interface
est un peu terne et ne produit pas de «beaux-graphiques-en-pointes-de-tarte»,
mais ne donne que le nombre de bulletins exprimés et les pourcentages. Le deuxième
est qu'il n'offre pas l'option d'empêcher quelqu'un de voter plus d'une fois.
Mais cela est voulu puisqu'au CVM, les postes ont tous le même numéro IP, si
bien que ça boguerait après le premier vote. Enfin, évidemment, ça
prend un répertoire exécutable et modifiable.
En fait il est peut-être un peu tard pour vous pour l'utiliser cette session.
Le message s'adresse donc en particulier à Pierre Roy ou Suzie Pinette.
Il appert que ce CGI, placé bien à l'abris dans cvm.qc.ca/scripts
pourrait être développé et modifié de l'extérieur par des profs
munis d'un mot de passe, justement à cause de cette fonction formulaire.
Là dessus bonne fin de session et de joyeuses fêtes.
Pour télécharger et étudier
ce script: http://www.cvm.qc.ca/glaporte/sondage.zip
Pour voir le démo que j'ai installé en catastrophe cet après-midi pour mes étudiants
de cette semaine:
http://www.cvm.qc.ca/scriptsglaporte/sondage/poll.pl
Test en ligne
Michel Laflamme m'écrit:
Je te remercie de ton quiz test. Je l'ai essayé avec les élèves sur mon site et ils ont bien aimé ça. Je l'ai modifié pour y mettre 10 questions et ça marche. Cependant je voudrais le recevoir par courriel et j'ai fait des modifications + ou - selon tes informations et ça marche pas. Il faudrait aussi un champ où l'étudiant écrit son nom car leur adresse de courriel ne correspond pas toujours à leur nom.
Quel
plaisir de rendre service à un collègue! Par conséquent j'ai modifié
le script soumis la semaine dernière afin de le rendre PRÊT À ÊTRE UTILISÉ.
Tout ce que vous avez maintenant à faire pour que ça devienne un authentique
outil d'évaluation sommatif absolument «béton» est d'entrer votre courriel
comme valeur de défaut et de placer hidden le champ RCPT.
En fait ça n'a rien de nouveau, Pierre Roy l'a rendu possible
depuis plus de deux ans.
Le
démo est à l'adresse suivante:
http://www.cvm.qc.ca/glaporte/test_eval2.htm
Comme
chacun sait, on a connu des problèmes avec bien des aspects du réseau cette
semaine. Je veux d'ailleurs remercier les techniciens de leur collaboration et
de leur empressement. J'enseignais en labo autant lundi que mardi et je
veux en particulier témoigner de l'excellence de l'information que j'ai reçu.
Très rapidement j'ai pu savoir à quoi m'en tenir et ainsi trouver des
alternatives. Il faut en particulier éluder l'impression que l'ensemble
du système est instable. Les utilisateurs occasionnels ne devraient pas
s'émouvoir outre mesure de ce genre de pannes qui sont d'ailleurs de plus en
plus l'exception.
Ceci
étant dit, l'élément le plus problématique à l'heure actuelle semble le
serveur de courrier. Ce qui se conçoit assez bien pour un système qui compte
des milliers d'usagers «occasionnels», qui entrent et qui sortent à chaque
session. Les profs qui comptent faire un usage ciblé du courrier électronique
devraient par conséquent réfléchir à des moyens alternatifs de communiquer
avec leurs étudiants de manière sécuritaire. Ma propre réponse je l'ai
trouvé dans des CGI qui gèrent le matériel expédié par les étudiants.
Si le courrier électronique plante dès que CIGOGNE bat de l'aile, un CGI
fonctionnera à 100% tant que le web est opérationnel puisque tout se déroule
en SLIP-PPP. Mardi, en pleine crise, alors que VÉNUS ne permettait même
pas aux étudiants de se «loguer», mon groupe a pu faire ses travaux et me les
acheminer sur le serveur sans en souffrir aucunement (s'en sont-ils seulement
aperçu?).
Les
CGI et les ASP ont l'inconvénient d'avoir à être implantés avec soin.
Reste que plusieurs profs auraient intérêt à s'intéresser aux technologies
«server-side» afin de se prémunir contre les sauts d'humeur du serveur de
courrier. Je compte d'ici peu proposer sur ce groupe certains PerlScripts
que j'ai développé. Parmi eux:
-
Gestion automatique des travaux et de la
correction
-
Accès de l'étudiant à son dossier par
mot de passe
-
Calcul de la durée de leur visite sur un
site et historique de leur navigation sur le web (pas moins de six cookies d'un
coup!)
-
«Guestbook» qui permet en fait aux étudiants
de mettre de leurs textes en ligne en utilisant un simple formulaire.
Si
l'un ou l'autre de ces scripts vous intéresse je pourrais assez rapidement
l'adapter et le présenter en détail pour que vous puissiez l'utiliser
simplement en l'invoquant avec un formulaire.
(Le
Perl c'est un peu plus compliqué, mais c'est plus que du JavaScript... )
Je
l'ai mis au point pour mes étudiants du cours de méthodologie et ils apprécient.
Il a l'avantage de résider sur le serveur et donc d'être entièrement paramétrable.
Il n'y a que une ou deux commandes à changer pour que vous puissiez l'implanter
sur vos sites.
J'ai
placé un démo pour ce Groupe à:
http://www.cvm.qc.ca/scriptsglaporte/forum01.pl
Autrement
vous pouvez consulter le fichier source à:
http://www.cvm.qc.ca/scriptsglaporte/exempleforum.txt
Test en ligne II
1- Enseigner c'est évaluer! Il faut donc déplorer le peu d'outils
encore à notre portée pour le faire via le web. Or c'est certainement le
Perl qui
permet le mieux de réaliser des formulaires autogérés sur le web.
Malheureusement, seule la plateforme UNIX permet de pleinement utiliser les
fonctions de calcul du Perl. Après bien des tentatives infructueuses, je
me
suis finalement replié sur le JavaScript et un petit programme "client
side".
C'est un script très polyvalent et assez costaud. Il calcule
automatiquement le nombre de bonnes réponses obtenues, les rend visibles à
l'écran ou les achemine par formulaire. Ça fait un mois que je le test
dans
toutes sortes de contextes et j'ai pu constater sa robustesse. Bien sûr
certains diront que ce n'est pas très «élégant» d'écrire un quiz en
javascript, mais ça marche et ça peut rendre de bons services à tous ceux et
celles qui utilisent des formulaires d'évaluation, autant en passant par
CGI, e-mail que par wsendmail.
Un démo est à l'adresse suivante:
http://www.cvm.qc.ca/glaporte/test_eval.htm
Consultez le fichier source et faites-en bon usage...
2- Pour Pierre, Suzie et tout ceux qui font du Perl
Par défaut, lors de l'envoi d'un formulaire, Perl reconnaît les balises
HTML. Ça peut cependant devenir un inconvénient quand des étudiants
"apprenti-programmeur", se mettent à entrer toutes sortes de balises
(toujours penser au serveur...). Aussi, dans la définition du champ, on
peut mettre cette jolie commande qui rend impossible l'entrée de fonction
HTML:
$commentaire=~ s/</\</g; #Où
le signe "<" est remplacé par <
Sauf que demeure le problème des «ENTER» qui ont l'art de tout bouziller
l'ordre des champs dans un CGI. Par conséquent je préfère, pour les
champs
TEXTAREA, utiliser la définition suivante qui change automatiquement les
ENTER du formulaire en <BR> dans le résultat.
$commentaire =~ s/\n/<br>/g; #Où l'opération
"ENTER" est remplacée par
<BR>;
On peut alors mettre un formulaire entre les mains des étudiants en toute
sécurité.
PS: Pas question d'inclure ces fonctionnalités dans le formulaire HTML.
Il
faut absolument le faire directement dans le script.
Test en ligne en pur Perl
On parle beaucoup du «progiciel» Notez bien, dont j'ai
entendu le plus grand bien même si je n'ai pas encore eu l'occasion de le
tester. Avis donc à ceux qui en
ont fait l'expérience. Reste que
je travaille actuellement sur un truc semblable à partir d'un script tiré d'un
site que je suggère à tous:
Scripts
for Education: Free Perl CGI Programs since 1996
http://www.linguistic-funland.com/scripts/
On y propose un quiz-test très performant qui offre les
fonctionnalités suivantes:
- Conserve la banque de questions dans un fichier texte facile à modifier
- Permet de choisir combien de questions doivent apparaître par page
- Place les questions et les choix de réponse dans un ordre aléatoire qui change à chaque visite
- Offre un chronomètre doté d'un temps limite pour réaliser le test
- Contrôle le résultat envoyé et s'assure que tous les champs sont remplis
- Compile les réponses et donne le résultat en pourcentage
- Rappelle ou non les réponses soumises et fournit ou non la bonne réponse
- Achemine les résultats et bien d'autres informations par courriel à l'administrateur du test
- Gère les autorisations pour avoir droit de réaliser le test
- Est en pur Perl et donc protégé par les «coupe-feux»
locaux
Je travaille sur ce script depuis des semaines et n'ai pas
fini d'en faire le tour tant il offre de possibilités de paramétrage.
Le démo que je propose est en rodage et j'ai du laisser qlq commandes en
anglais.
Par conséquent je le teste présentement sur mon site des
Patriotes, mais je l'ai également adapté pour mon collègue d'histoire, Luc
Lefebvre. Luc avait besoin d'un
formulaire en ligne qui permette à ses étudiants inscrits au concours Jeunes démocrates
de s'entraîner dans le confort de leur foyer… Allez y faire un tour !
Attention cependant les questions de Luc sont pour champions seulement…
DÉMO: Quiz Jeunes démocrates: http://www.cvm.qc.ca/scriptsglaporte/jeunes.pl
LE FICHIER DE QUESTIONS: http://www.cvm.qc.ca/scriptsglaporte/jeunes.txt
LES COMMANDES PERL: http://www.cvm.qc.ca/scriptsglaporte/jeunes.pl.txt
13 février 2001
Gérer les rendez-vous avec ses étudiants
Idéal pour l'aide à l'apprentissage ou pour efficacement
gérer ses
disponibilités.
Ce script est en fait un dérivé d'un de ceux que j'ai présenté à plusieurs
reprises. Son intérêt est surtout l'usage d'un «header» et d'un «footer»
qui
permettent de toujours voir le formulaire, même lorsqu'on fait apparaître
les résultats de la requête. L'étudiant peut ainsi vérifier nos
disponibilités, voir les autres rendez-vous déjà pris à telle ou telle
période et s'inscrire en temps réel. Le professeur peut pour sa part
planifier le nombre d'étudiants à rencontrer et a droit à plusieurs
informations, dont l'heure et la date à laquelle l'étudiant s'est inscrit.
Pour vraiment voir le potentiel de ce bel outil il faut l'essayer ! Le démo
que je propose à spécifiquement été modifié pour ce groupe de discussion.
N'hésitez donc pas à l'expérimenter et à vous inscrire pour un rendez-vous
fictif. Ne vous en faites pas, je vous promets de ne pas m'y rendre...
Le démo est ici:
http://www.cvm.qc.ca/scriptsglaporte/meeting2.htm
30 mars 2001
Quizz pour les nuls !
Il semble que la DATI ne souhaite
plus encourager le développement de
scripts CGI, principalement pour des raisons de sécurité et ça se justifie
très bien. Il est cependant important qu'on continue à mettre à la
disposition des développeurs des outils interactifs en mesure de générer des
pages dynamiques: ASP ? MYSql ? ORACLE ? MSSql ? Un signal dans un sens ou
dans l'autre serait apprécié dès qu'une décision sera prise, puisque les CGI
font de plus en plus d'émules au collège et qu'il y a encore beaucoup de
choses à faire avec le Perl 5.
À preuve le script que je vous soumets. C'est encore une variation sur le
thème des quizs mais il est EXTRAORDINAIREMENT SIMPLE à utiliser pour les
apprentis. Ça se présente comme un formulaire interactif où vous remplissez
simplement des cases afin de générer des tests d'auto-évaluation ou des
modules d'entrainement pour vos étudiants ou vos visiteurs. Les rubriques à
remplir sont très claires: combien de questions, quels sont les choix de
réponses, etc... L'intérêt est que vous pouvez y créer des RANGS ou des
CLASSES avec des commentaires appropriés par rapport à la note obtenue lors
du test. C'est simple, robuste, rapide et y a moyen de faire qlq choses de
très simpa pour vos visiteurs. Bien sûr ce n'est pas la cadillac des test
en ligne. Il n'achemine aucun résultat à l'administrateur et ne fournit pas
de grille de correction à l'usager, mais ça demeure un bon quiz qui fait ce
qu'il a à faire.
C'est en fait si simple que je n'ai déjà plus rien à dire. On accède donc
ici à un exemple de test très basic généré à partir de l'outil.
http://www.cvm.qc.ca/scriptsglaporte/quiz01.pl?test06
Mais surtout on clique là pour générer son propre test. C'est là qu'est
tout le plaisir !
http://www.cvm.qc.ca/scriptsglaporte/quiz01.pl
Une fois sur l'outil de génération de tests vous cliquez sur
«administration». L'administrateur est ensuite «test» et le mot de passe
«cvm». Vous répondez enfin aux rubriques du formulaire. Suffit d'être
attentif.
Une fois le test créé, le script crée quatre petits fichiers qui gèrent les
questions/réponses/commentaires. L'adresse du test est simplement celle du
script suivie d'un «?», puis du nom du test
(ex.http://www.cvm.qc.ca/scriptsglaporte/quiz01.pl?test06)
. Vous n'avez
alors qu'à créer un hyperlien à partir de votre page web et vous avez votre
quiz en ligne !
Have fun.
PS: En attendant que la DATI prenne une décision sur les scripts «server
side», c'était là ma dernière lettre visant à montrer les possibilités des
CGI Autrement, côté «client side» (Applets, JavaScript, XLS) je trouve le
web particulièrement déprimant ces temps-ci. J'ai rien vu de neuf depuis
des mois ! Reste le Shockwave (Flash), mais j'en cherche encore une
application pédagogique quelconque... Et vous, avez-vous vu des choses
intéressantes dernièrement?
En passant, bravo et bonne
chance à la DATI dans son opération de regroupement des ressources.
Saluons en particulier deux innovations, (1) le moncourrier.cvm.qc.ca qui règle
apparemment un vieux problème, en particulier avec le courriel des étudiants,
et (2) que désormais l'adresse où apparaissent les fichiers de j'accepte_le_code_de_conduite
soit plus conviviale à la suite de celle du cégep.
On n'aura ainsi plus à chercher ce satané « ~ » sur les
claviers…<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office"
/>
Plutôt calme au niveau des
innovations web il nous semble (trop beau dehors ?). Remarquez qu'il
est difficile de tout voir, sauf que j'observe plein de nouveaux scripts écrits
pour MySQL. Les applications pédagogiques potentielles sont nombreuses.
Glissons-en donc qlq mots.
Il y a plusieurs manières de stocker et de restituer des données sur le web; par des coockies par exemple ou avec un applet Java. La forme la plus connue et la plus efficace est évidemment en perl-CGI. Un CGI fonctionne comme un moteur booléen. Il a l'avantage d'être très rapide (Yahoo, Lycos, etc..) mais aussi d'être très con. C'est qu'il ne fait guère que chercher des chaines de mot dans un fichier source et de les restituer selon une mise en page spécifiée. Par exemple, disons le fichier source suivant (La barre verticale est une convention en perl.)
Gilles|homme|1961
Lucie|femme!1970
Rober|homme|1945
En fait n'importe quel perl
ne gère guère que deux paramètres:
1. Quelle est la chaîne de mots que vous voulez sortir ? ex:
HOMME
2. Quels sont les champs que vous voulez tirer des lignes sélectionnées ? ex:
NOM et SEXE
Résultat:
"Gilles" est un "homme"; "Robert" est un
"homme"
Remarquez qu'il y a déjà
beaucoup de choses à tirer d'une telle procédure, mais que c'est bien
insuffisant pour des raisons croissantes, en particulier pcq tout doit être
dans le même fichier source. Le langage SQL pour Select Query
Language fonctionne plutôt selon un principe relationnel. Le grand
intérêt d'un tel principe est qu'il lie des infos provenant de plusieurs
fichiers en recourant à des champs soudés - ou clés - liés sur un mode
relationnel. Pour reprendre notre exemple, dans SQL les mêmes données se
retrouveraient en fait dans deux fichiers liés par la clé CODE_SEXE.
FICHIER_A
Gilles|01|1961
Lucie|02|1970
Robert|01|1945 et...
FICHIER_B
01|homme
02|femme
L'énoncé SQL se présente alors comme suit:
Select NOM, SEXE from FICHIER_A, FICHIER_B where FICHIER_A.CODE_SEXE = FICHIER_B.CODE_SEXE;
Ça a l'air compliqué mais en fait cela remplace des dizaines de lignes rédigées en perl et fait littéralement exploser les possibilités d'un système de base de données web. De toute façon il s'agit de voir la tendance actuelle sur le web, tout le monde se met au SQL et même les scripts écrits en pur perl permettent de plus en plus de lier ensemble plusieurs fichiers source. Quel est le profit pédagogique ? Il y en a plein, en tous cas suffisamment pour qu'on prenne le temps de s'y arrêter. Un truc tout bête. J'entre mes étudiants de sciences humaines avec leur numéro de profil: 300.3a, 300.3b, 300.12, etc.. Sauf que si je veux aussi sortir le nom de profil auquel ça correspond il faut que je l'ajoute à chaque ligne pcq le pur perl est incapable d'aller dans un autre fichier qui lierait le numéro au nom (et je ne parle pas de ASP ou, pire encore, de Java). Plus généralement, un système SQL nous permettrait de garder plein de fichiers de données «récurrentes» et de ne faire de mises à jour que sur certains fichiers «évanescents».
2. C'est la saison des listes
Encore cette session on peut profiter du très utile service de réception des listes de classe par courriel. Rappelons que le format des données - en texte ASCII séparé par des « | » barre verticale - est idéal puisque facilement importable. Personnellement je sauve ces listes en format txt puis, dans EXCEL, vais ouvrir ce fichier en soumettant la barre verticale comme séparateur de champs. Cela me donne cependant prétexte à évoquer une très intéressante fonction logée dans le module perl cgi-lib.pl (rappelons pour ceux qui ne sont pas familiers que divers «langages» web: perl, java, sql, DHTML, etc.. sont traités par le serveur ou votre navigateur dans la mesure où vous détenez des «modules» qui en permettent l'interprétation. C'est par exemple pour cette raison que certains bidules sont visibles de Netscape et non d'Explorer et vice et versa). Ainsi, en écrivant
$FICHIER_SOURCE= "./results/$form_data{'MATRICULE_DE_L'ETUDIANT'}.txt";
open (RESULTATS, ">>$MATRICULE_DE_L'ETUDIANT")
je fais en sorte que le fichier source corresponde à un nom fourni par l'usager. Cette fonction est ainsi très riche et offre plusieurs applications. En voici une très simple.
Si vous placez votre liste d'étudiants dans un fichier txt sur le web ça ressemble un peu à ça:
AWE,
AIMEE FANIA|9830356|300.3A|3102
BARRETTE, JONATHAN|9863873|300.4A|3102
BELLIVEAU, GENEVIEVE|9941867|300.3A|3102
BERUBE, AMELIE|9832878|300.3A|3102
BLACKBURN, CATHY|9940600|300.3A|3102
BOUDREAU, SYLVIE|9915571|300.3A|3102
BOULET, MADELEINE|9946234|300.15|3102
BRUNET, MATHIEU|9916465|300.4A|3102
...
(
http://www.cvm.qc.ca/scriptsglaporte/temp.txt
)
Avec la fonction form{NOM_DU_CHAMP} on a placé NOM_DU_CHAMP en guise de "name" dans un formulaire et le script considère que le nom fourni correspond au nom du fichier txt d'où doivent être tirées les données et lui applique le traitement demandé (dans ce cas-ci, donner un titre aux rubriques suivi d'un saut de ligne).
Ainsi à http://www.cvm.qc.ca/scriptsglaporte/liste.htm
Par conséquent, autant pour mettre à jour que pour afficher des données, le script dit que les données doivent venir d'un fichier texte dont le nom est fourni par l'usager via le champ MATRICULE_DE_L'ETUDIANT, soit par un formulaire, soit par un appel $ENV (ie: cvm.qc.ca/SCRIPT.pl?MATRICULE=1234567). La beauté est que quand on soumet une donnée-nom_de_fichier pour la première fois, le fichier est automatiquement créé. Chaque étudiant se retrouve alors avec son fichier personnel sans qu'on ait à lever le petit doigt; l'étudiant l'a lui-même créé en fournissant son matricule par exemple. Ça me donne - dès la première semaine de classe - le joli répertoire /results que vous pouvez voir ici:
http://www.cvm.qc.ca/scriptsglaporte/results
Au cours de la session, les résultats, les travaux, les commentaires de mes corrections, n'importe quoi, vont tranquillement s'engranger dans le fichier personnel de l'étudiant sans risque de désordre ou d'erreur par l'emploi d'un mot de passe par exemple. (Notez que j'autorise l'accès à ce répertoire confidentiel pour qlq jours pour que vous puissiez le visualiser. Ça va disparaître d'ici peu.)
Un script tout bête qui calcule des notes
Ça peut peut-être servir à qlq un qui compile déjà les
notes de ses étudiants sur le web en attendant de les traiter dans Excel par
exemple. J'avais besoin d'un script très basic qui calcule les
notes à mesure qu'elles s'accumulent dans un fichier texte. Les résultats
bruts ressemblent ainsi à ça:
tp01|gilles|28 juillet 2001, 18 h54|13|20
tp02|gilles|28 juillet 2001, 19 h00|8|20
tp03|gilles|28 juillet 2001, 18 h37|12|20
tp04|gilles|28 juillet 2001, 18 h57|3|10
tp05|gilles|28 juillet 2001, 18 h55|3|10
tp06|gilles|28 juillet 2001, 18 h54|13|20
tp07|gilles|28 juillet 2001, 18 h49|17|20
tp08|gilles|28 juillet 2001, 18 h48|9|10
tp09|gilles|28 juillet 2001, 18 h48|7|10
Le script consiste simplement a invoquer le fichier et à générer deux
champs dynamiques, l'un pour les «NOTES», l'autre pour les «SUR» et faisant
chacun le total des valeurs associées à un champ (field) spécifique. Ainsi:
for ($i = 1; $i <= 2; $i++) {
$total01 = $total02 + $fields[$i];
$total01 = $total02 + $fields[$i];
Et le résultat:
TP NOM DATE
NOTE SUR
________________________________________________________
tp01 gilles 28 juillet 2001, 18 h54
13 20
tp02 gilles 28 juillet 2001, 19 h00
8 20
tp03 gilles 28 juillet 2001, 18 h37
12 20
tp04 gilles 28 juillet 2001, 18 h57
3 10
tp05 gilles 28 juillet 2001, 18 h55
3 10
tp06 gilles 28 juillet 2001, 18 h54
13 20
tp07 gilles 28 juillet 2001, 18 h49
17 20
tp08 gilles 28 juillet 2001, 18 h48
9 10
tp09 gilles 28 juillet 2001, 18 h48
7 10
========================================================
Total
85 140
On peut aussi simplement générer les autres fonctions arithmétiques de base (+ - / * ).
FICHIER SOURCE: http://www.cvm.qc.ca/scriptsglaporte/table.txt
LE TEXTE DU SCRIPT: http://www.cvm.qc.ca/scriptsglaporte/total06.txt
ACTIVER LE SCRIPT: http://www.cvm.qc.ca/scriptsglaporte/total06.pl
Une page de chargement web (sic)
J'ai déjà décrit tout le profit à tirer de scripts qui permettent aux étudiants d'immédiatement et très simplement diffuser leur matériel sur le web en passant par des formulaires où les divers champs mettent automatiquement en page les info fournies. Le principe est toujours le même: À un formulaire soumis où
<FORM
name="toto" action="VOTRE_SCRIPT.cgi">
<input type="text" name="CHAMP01" value="CECI
SERA TRAITÉ COMME UN TITRE">
<input type="text" name="CHAMP02" value="CECI SERA
TRAITÉ COMME UN SOUS-TITRE">
<input type="text" name="CHAMP03" value="CECI SERA
TRAITÉ COMME UN TEXTE NORMAL">
<input type="text" name="CHAMP04" value="CECI SERA
TRAITÉ COMME UN LIEN CLICABLE">
<input type="text" name="CHAMP05" value="CECI SERA
TRAITÉ COMME UNE ADRESSE URL">
<input type="SUBMIT" value="ENVOYER SUR LE WEB">
Les données fournies sont placées dans un fichier texte toujours associées à leur «name». Quand on demande à les afficher sur le web, le script applique ce traitement aux données fournies. Par exemple:
print "<h1>$CHAMP01</h1><h2>$CHAMP02</H2><FONT SIZE=2>$CHAMP03<br><br><a href="$CHAMP05">$CHAMP04</a>"\n;
Chaque ligne contenant des données sera alors traitées uniformément. Ça ressemble à ça:
CECI SERA TRAITÉ COMME UN TITRE
CECI SERA TRAITÉ COMME UN SOUS-TITRE
CECI SERA TRAITÉ COMME UN TEXTE NORMAL
CECI
SERA TRAITÉ COMME UN LIEN CLICABLE
Un tel formulaire doit néanmoins être rédigé avec soin pour éviter que les étudiants ne diffusent n'importe quoi. Il est donc intéressant de réaliser une «page de chargement web» contenant un maximum de champs «préformatés». Le travail s'accumule ainsi sur le web à mesure que l'étudiant franchit certaines étapes.
Dans l'exemple que je fournis vous ne pourrez pas acheminer du matos pcq cela requiert un mot de passe. Jetez y quand même un coup d'œil pour voir si le javascript qui s'y trouve vous intéresse. Il permet de donner des détails sur un lien que l'on «survole». Ce genre de script est archi connu, mais reste que celui-là n'affiche pas le résultat dans un zone texte classique («textarea») ce qui, convenons-en, fait beaucoup plus aéré…On jette un coup d'oeil ?.. http://www.cvm.qc.ca/glaporte/metho/chargement.htm
PopUp JavaScript
Michel se demande comment
organiser une activité formative simple sur le
web. Il ne veut ni un compteur de points, ni engranger les résultats dans
un fichier texte, juste qlq chose qui réagit quand l'étudiant coche ou non
une bonne réponse.
Le moyen le plus simple (que ça tu meurs) est d'insérer l'équivalent de ce
petit code à l'intérieur du BODY de votre page web.
<input type="radio" OnClick="alert ('mauvaise réponse')">CHOIX
UN<br>
<input type="radio" OnClick="alert ('mauvaise réponse')">CHOIX
DEUX<br>
<input type="radio" OnClick="confirm ('Bravo, bonne réponse.
Taper OK
pour poursuivre')">CHOIX TROIS (LE BON)
C'est hyper simple, les étudiants adorent et ça marche sous toutes les
latitudes. Ironiquement y a pas un fichu éditeur qui peut vous donner
l'équivalent. Trop simple ? Seul inconvénient : dans vos remarques
personnalisées - qui peuvent d'ailleurs être aussi longues que vous voulez
-
on ne peut utiliser l'apostrophe « ' » réservée pour délimiter les
énoncés.
Un truc, utilisez plutôt l'accent grave suivi d'un espace « ` ».
Mot de passe(oire)
Louise souhaite protéger
l'accès à certaines pages web. Comme on s'en
doute
bien, plus c'est compliqué, plus c'est sécuritaire et vice et versa.
Encore là c'est en JavaScript que se font les choses les plus simples.
Signalons que Java en tant que script signifie que le texte peut
éventuellement être visible pour un étudiant minimalement acharné. Je vous
refile néanmoins un exemple particulièrement simple et pratique qui permet
d'accorder et de retirer des mots de passe personnels. Pour l'utiliser,
simplement sauver ce qui suit en tant que fichier HTML.
===================================
<HTML><HEAD></HEAD><BODY><FORM>
MOT DE PASSE<INPUT name=pass onchange=passeOK(this.value)
type=password><br>
<INPUT type=submit value="Soumettre la requête"></FORM>
<SCRIPT language=JavaScript>
function passeOK(passe) {
passe = passe.toUpperCase()
if (passe == "GILLES" ||
passe == "LOUISE" ||
passe == "MICHEL" ||
passe == "GINETTE") {
/*Ajoutez d'autres mots de passe, mais ils doivent être en MAJUSCULES*/
alert('Bienvenue à bord!')
alert('Vous accédez maintenant à la page cachée')
location=http://www.cvm.qc.ca
/*Placer la page de destination*/
}
else {
alert ("Veuillez entrer un mot de passe valide")
location="cette_page.htm"
/*Placer la page où renvoie un message d'erreur; généralement la même*/
}
}
</SCRIPT>
</BODY></HTML>
=============================
Incidemment, les bonnes adresses de SCRIPTS en JAVA ne manquent pas.
Voici
mes préférées:
The JavaScript Source: http://javascript.internet.com/toc.html
WebSite Abstraction: http://wsabstract.com/
Et le gigantesque EarthWeb : http://webdeveloper.earthweb.com/
C'est la saison des listes
Louise voit bien ses
images quand le site est sur son C:/ mais ne les voit
souvent plus quand elles sont sur le web. Dans 99% des cas ces problèmes
avec les images manquantes viennent du peu de soin des webmestres à bien
s'assurer de la hiérarchie et de la disposition de leurs dossiers sur leur
C:/ ET sur leur site. Je crois personnellement que la seule bonne manière
d'éviter ce problème est de scrupuleusement respecter les règles
suivantes:
A) Avoir exactement la même hiérarchie de dossiers sur votre C:/ et sur
votre site. Par exemple:
C://MesDocuments/
rrobert/images/photoHiver2001/image01.jpg doit correspondre à
http://www.cvm.qc.ca/
rrobert/images/photoHiver2001/image01.jpg
B) Conserver le plus possible exactement la même version de vos images et
de
vos textes sur le C:/ ET sur le site.
C) Dès que vous commencez une nouvelle page web, d'abord la sauvegarder
pour
que les liens que vous donnerez ensuite soient RELATIFS et non ABSOLUS.
Il
faut ainsi que votre éditeur ait enregistré l'emplacement de votre fichier
HTML pour bien établir le chemin (path) qui mène à l'image souhaitée et
que
l'adresse attribuée commence à compter du répertoire courant.
L'arborisation
qui la précède est ainsi prise pour acquis par le navigateur, elle est
relative. Laissons tomber le chinois et donnons vite un exemple. Ainsi:
MAL: <img
SRC="http://www.cvm.qc.ca/rrobert/images/photoHiver2001/image01.jpg">
HORRIBLE <img
SRC="../../images/photoHiver2001/image01.jpg">
PIRE ENCORE !
<SRC="C://MesDocuments/rrobert/images/photoHiver2001/image01.jpg">
TRÈS BIEN....: <img
SRC="/images/photoHiver2001/image01.jpg">
LISTES DYNAMIQUES
À des profs dynamiques, il
faut des listes dynamiques d'étudiants
dynamiques!
Enfin bref, un JavaScript que j'ai gossé pour mes cours et, puisque je
l'utilise finalement à presque tous les jours, je me suis dit que ça
pourrait intéresser quelqu'un.
Il s'agit d'un tableau où les données sont placées dans un ordre spécifique
selon la colonne qui est sélectionnée. C'est une fonction que tout le
monde utilise sur Excel mais qui a ici l'avantage d'être sur le web et donc
accessible à tous et en tout temps.
Ça m'est particulièrement utile pour gérer mes listes d'étudiants en ligne,
selon que je les recherche par nom, par groupe ou par numéro d'équipe. Je
n'utilise pas dans mon exemple les fonctions date mais elles sont déjà
prêtes à accueillir vos données.
Le script est assez long même si ses sous-routines sont bien connues pour
quiconque fait du JS. Je l'ai donc placé dans un fichier texte à:
http://www.cvm.qc.ca/glaporte/liste.txt
Le DÉMO, qui est en fait ma véritable liste d'étudiants (merci de préserver
la confidentialité) est à : http://www.cvm.qc.ca/glaporte/metho/a01.htm
Ceci étant dit, pour ceux qui voudraient l'adopter sans se casser la tête
peuvent suivre la simple procédure suivante et faire des tests. Les
applications possibles sont surprenantes et fort variées.
1. Accéder au http://www.cvm.qc.ca/glaporte/metho/a01.htm
2. Le sauvegarder par FICHIER, puis ENREGISTRER.
3. Avec votre éditeur de page web ou à la main, changer le contenu des
lignes se trouvant sous la ligne titre et y placer vos propres données.
4. Si la nature de vos données diffère, modifier le titre (NOM, GROUPE,
MATRICULE, etc..) mais délicatement, pour ne pas altérer la définition du
lien. Le nom des champs ne doit en effet pas changer même si sa
dénomination n'est pas appropriée.
Ps. Avec la plupart des éditeurs de page web vous pouvez placer vos
colonnes EXCEL à la suite de la ligne de titre par un simple COPIER/COLLER.
Ça se fait donc en deux clic clic.
Protéger
vos pages web contre les prédateurs
[HAUT DE
LA PAGE]
Une collègue attirait récemment mon
attention sur ses scrupules à placer du
matériel pédagogique sur Internet, en particulier parce qu'elle craint que
ses textes et ses images soient copiés, recyclés, voire repiqués sur un
autre site. Comme dans tout sur Internet, il n'existe pas à ma
connaissance de barrière absolue contre ce péril. Il y a cependant
certains moyens simples permettant sans trop de peine de dissuader 99,9%
des internautes malveillants de s'emparer du fruit de votre travail.
1. L'appel "return false"
Un simple appel java peut empêcher le visiteur de sélectionner du texte ou
des images sur son site. Ça se fait tout simplement par deux expressions
qu'on place avec le BODY de sa page web.
<body ondragstart="return false" onselectstart="return false">
onselectstart empêche le click gauche de s'arrimer à du texte, tandis que
ondragstart empêche le balayage avec le bouton gauche, fonction si
communément utilisée dans un traitement de texte par exemple. Notez que
cette fonction désactive aussi l'option SÉLECTIONNER TOUT dans le menu
ÉDITION. Et voilà, vous venez de dissuader 75% des copieurs du web !
2. Empêcher le click droit
Le click droit avec la souris est le truc privilégié pour s'emparer d'une
image, en particulier par la fabuleuse fonction "enregistrer l'image
sous".
Désactiver le bouton droit de la souris de vos visiteurs est un péplum
de
javascript. Il est important cependant d'avoir une version récente de ce
script pcq les plus anciennes sont aisément contournables. Celle-ci est
plus longue mais est toute neuve et imparable. Ainsi, placez ceci
entre
les balises <HEAD> et </HEAD> et hop ! Vous venez de dissuader 85%
des
prédateurs d'images.
<script language="JavaScript1.2">
if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
function norightclick(e)
{
if (window.Event)
{
if (e.which == 2 || e.which == 3)
return false;
}
else
if (event.button == 2 || event.button == 3)
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
}
document.oncontextmenu = nocontextmenu;
document.onmousedown = norightclick;
</script>
<script language="JavaScript"> <!--
var message="L'usage du bouton droit n'est pas admis sur cette page";
//
MESSAGE click(e) {
if (document.all) {
if (event.button == 2) {
alert(message);
return false;
}
}
if (document.layers) {
if (e.which == 3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
// --> </script>
3. Quatre-vingt-cinq pour cent parce que malheureusement il y a encore 15%
de malins qui savent désactiver leur console Java et ainsi rendre
inopérante votre protection. Répondez-leur avec ce joli appel qui rend
illisible la page si la console java est désactivée. Toujours dans le HEAD
:
<NOSCRIPT>Pour lire cette page vous devez disposer d'un interprétateur
Java</NOSCRIPT>
Et voilà, vous venez de vous débarrasser de 95% des petits malins !
4. Coder sa page web
Évidemment, les cinq pour cent qui restent sont les plus tenaces et, pour
les dissuader de copier votre page, vous devez purement et simplement coder
le contenu de la source. Cela consiste à encrypter l'ensemble du texte de
sa page et de l'enfermer entre des balises javascript qui détiennent la clé
de décodage secrète. Ainsi, un contenu de texte ressemblant à :
"Je suis venu au monde 18 000 ans av. J.-C., dans une caverne du sud-ouest
de la France. J'ai passé ma longue enfance dans ce pays froid. Considérant
malgré tout les conditions de vie supportables, j'y suis demeuré jusqu'à ma
mort."
Deviendra si quelqu'un invoque le fichier source
<SCRIPT language=JavaScript type=text/javascript><!--var
m="",a="3#mK=r6U&Gfuzpx<InCO\"il0JBQ/2A!M1DYe8)(bLEsagj>_H|Zd?hRP:cWvTVw59tqFSy-7;.
No4k",u="",o=79;function e(l){var
n="",r,t,j,x;for(r=0;r<l.length;r++){t=l.charAt(r);j=a.indexOf(t);if(j>-1){x=((j+1)%o-1);if(x<=0){x+=o}n+=a.charAt(x-1)}else{n+=t}}m+=n}e("IaW6lxqN0gCjzgj8riBgTgyW6lxqiNq-x8riq8<q2>gTgaW6lxqi_IM77\r\nuzCWql4CN>3b({g086qbzC8aWgx8bi!WW8aaN?8Cl8?
n?.lubTW({lubFL({?4WzK8Cq 4CW4Cq8<qK8Czr>3}80a8{?4WzK8Cq
4CK4za8?45CrWq}}lubFLGGMTW({?4WzK8Cq 4CK4za8zxr3>}lub?4WzK8Cq
0g-86a({5lC?45 Wgxqz68sT8CqabsT8Cq 1\"&ysY\"vo(.5lC?45
4CK4za8?45Cr3>}2277_I2aW6lxq_NIQfy\"&oYNyPOri5lqq8
));document.write(u);u="";//--></SCRIPT>
Vous aurez compris que le codage n'est pas fait à la main. Il faut donc
télécharger un petit logiciel d'encryptage. Il y en a plein sur le web.
Il font entre 300 et 1200 k, s'installent en un instant et sont tous
simples comme bonjour. Une fois complétée votre page web, ouvrez le
logiciel en question, sélectionnez votre fichier HTML, et donnez le nom
d'une nouvelle page codée.
Voici au moins deux adresses où vous pourrez télécharger des versions pour
évaluation gratuite.
HTMLEncrypt v1.0 chez http://www.carbosoft.com/
et
Html Guarder, Version 1.3 chez http://zbsoft.fateback.com
Tous les deux font exactement la même chose.
Et voilà ! Vous venez de dissuader 99,9% des internautes de faire autre
chose que de lire ou d'imprimer vos pages web. Bien sûr on me dira qu'il
existe des décrypteurs sur le web; qu'on peut toujours faire des saisies
d'écran et recycler votre page en PDF, que l'internaute peut toujours
fouiller sa mémoire cache à la recherche de vos pages, bien sûr que ci,
bien sûr que ça, mais j'en ai marre moi, j'ai de la correction à faire
après tout !!!
À tous et à toutes une bonne fin de session et de joyeuses fêtes
HAUT DE
LA PAGE
- Les formulaires les plus simples du monde grâce à
Wsendmail.
- Un calendrier perpétuel
- Un applet rudement pratique.
1. LES FORMULAIRES LES PLUS SIMPLES DU MONDE GRÄCE À WSENDMAIL
Il y a déjà quelques années MM. Laferrière et Roy ont fait la promotion d'un outil qui permet de recevoir des données collectées par formulaire via son courrier électronique en recourant au logiciel Wsendmail.exe. Qu'il s'agisse de vous rafraîchir la mémoire ou de vous le faire connaître, je veux en tous cas partager mon enthousiasme pour ce fichu bel outil pédagogique.
Je me suis en effet servi de wsendmail sur un mode intensif entre 1996 et 1998 avant de passer à des outils plus spécialisés. Il demeure cependant un moyen très sûr et extrêmement simple pour gérer des formulaires.
Wsendmail est logé dans le répertoire /scripts du cégep. On a qu'a l'invoquer dans l'appel de son formulaire et de lui fournir une adresse @cvm.qc.ca de destination pour que la merveille s'opère.
Le gros du travail consiste à faire une chose que tous les éditeurs de pages web font très bien, c'est-à-dire générer des champs de formulaire. Avec l'éditeur FrontPage par exemple, ça se fait simplement par INSERTION >>> FORMULAIRE. Vous avez alors le choix entre plusieurs options : case d'option, bouton, texte libre, etc.. Réalisez donc votre formulaire, mettez-le en page et intégrez vos éléments graphiques.
Une fois cette opération terminée, la seule, je dis bien LA SEULE intervention à faire sur le code HTML consiste à aller coller ce texte en lieu et place de l'appel <FORM… qu'a automatiquement généré votre éditeur de pages web.
<FORM NAME="formulaire" METHOD="POST" ACTION="HTTP://WWW.CVM.QC.CA/SCRIPTS/WSENDMAIL.EXE"> <INPUT TYPE="HIDDEN" NAME="RCPT" VALUE="toto@CVM.QC.CA"> <INPUT TYPE="HIDDEN" NAME="SUBJECT" VALUE="travail pratique no.1"> [placez ensuite les champs du formulaire.] ...</FORM>
Dis dans une autre langue, ça s'énonce : «Invoque Wsendmail pour traiter les infos qui vont suivre en ajoutant les champs cachés (hidden) suivants: le sujet du message et surtout l'adresse électronique où acheminer le formulaire traité.» J'ai placé le texte essentiel en majuscule et, en minuscule, celui que vous devriez changer pour recevoir les données du formulaire par courriel.
Enfin, sauvegardez votre page web et téléchargez-là sur un serveur sur la planète Mars si vous voulez, ça marche à tout coup ! L'adresse de destination doit cependant être un @cvm.qc.ca pour des raisons que vous ne voulez pas connaître.
Le message suivant sera alors reçu par votre boîte de courrier : EXPÉDITEUR : someone@somewhere.com; SUJET: CE_QUE_VOUS_AVEZ_MIS_EN_GUISE_DE_TITRE_POUR_SUBJECT. Cet expéditeur par défaut peut en principe être remplacé par un champ NAME, idéalement le nom de l'étudiant qui vous envoie le formulaire, mais que la DATI se le tienne pour dit, ÇA NE MARCHE PAS. On peut cependant facilement contourner cet inconvénient en plaçant un simple champ NOM: au début du formulaire.
PRINCIPAUX AVANTAGES : - Vous êtes sûrs que les résultats sont organisés et complets. C'est un gros avantage sur un simple e-mail que les étudiants pourraient avoir à vous envoyer. - Même si votre formulaire est tout croche, wsendmail vous l'envoie pareil ! Vous aurez donc tout le loisir d'aller modifier en particulier la désignation de vos champs de formulaire pour que le résultat soit simple et clair. - Wsendmail envoie toujours une confirmation d'envoi quand on clique sur SOUMETTRE.
PRINCIPAL INCONVÉNIENT: - Contrairement à un courriel classique, vous ne pouvez pas répondre à l'expéditeur par un simple RÉPONDRE À. Vous pouvez tant bien que mal contourner cet inconvénient en inscrivant l'adresse courriel parmi les champs du formulaire.
J'ai placé un exemple de formulaire avec wsendmail à l'adresse: http://www.cvm.qc.ca/glaporte/wsendmail.htm
Si vous vous sentez un peu frileux, vous n'avez qu'à sauvegarder ce formulaire tel quel et à le modifier dans votre éditeur de page web. Vous n'avez dans ce cas qu'à remplacer le glaporte@cvm.qc.ca par votre propre adresse et il est prêt à servir !
----------------------------------
2. UN CALENDRIER PERPÉTUEL
Les deux prochains outils n'ont guère d'application hors des disciplines de l'histoire ou de la géographie mais je les trouve rigolos. Le premier est un calendrier perpétuel en javascript. Très simple à programmer, il est basé sur les seize types de calendriers possibles depuis 1578 (?). Il sert à identifier le jour de la semaine où s'est produit un événement historique. Ainsi, on apprend que la bataille des plaines d'Abraham, le 13 septembre 1759 n'a pas eu lieu un vendredi, mais bien un jeudi. L'exemple suivant me sert pour mon site sur les Patriotes. Je l'ai donc bloqué sur les années 1800 à 1850 parce que le reste de l'histoire de l'humanité n'a guère d'intérêt. ; ^ )
Il peut cependant être facilement modifier pour vous donner le jour de votre naissance ou celui de votre retraite…
http://www.cvm.qc.ca/Patriotes/calendrier.htm
------------------------------
3. UN APPLET RUDEMENT PRATIQUE
Qu'est-ce qu'un applet d'abord ? C'est simplement un petit logiciel qu'on invoque pour opérer à partir de critères ou PARAMÈTRES. Il y en a des milliers sur le web et à commencer par la page d'accueil du CVM
(t'sé, la neige qui tombe…). C'est généralement écrit en un dérivé du C et il existe maintenant de très beaux éditeurs gratuits. Cependant, les utilisateurs d'applet ne se donnent pas en général la peine de les développer et n'invoquent que des graticiels disponibles sur le web. Comme pour tous les langages, JAVA (ne pas confondre avec JavaScript) fait mieux certains trucs que d'autres. Il est particulièrement bon pour gérer des Chats et surtout animer des images. Un applet s'invoque le plus simplement du monde dans le BODY de votre page web par les balises <applet></applet> et en donnant certains paramètres. L'opération est elle-même gérée par l'ordinateur de l'internaute, c'est pourquoi c'est parfois long à charger.
L'exemple que je soumets me permet de «zoomer» et de me déplacer à travers une fenêtre. Il ne s'agit pour vous que de remplacer l'appel d'une image par celui de l'applet. Ainsi, sur votre page web, si vous avez:
<IMG SRC="http://www.cvm.qc.ca/Patriotes/mtl001.jpg width=1800 height=1105>
remplacez plutôt par
<applet code="ImageZoom.class" CODEBASE="http://www.cvm.qc.ca/Patriotes" width=400 height=244> <param name="IMAGE" value="http://www.cvm.qc.ca/Patriotes/images/mtl001.jpg"> <param name="ZoomLevel" value="6"> <param name="speed" value="10"> </applet>
Vous constatez ainsi qu'à partir d'une très grosse image (1800 X 1105) vous dites plutôt à
l'applet de la coincer à 400 par 240, avec six degrés de zoom (ZoomLevel), qu'on pourra survoler à la vitesse de 10 pixels à la seconde (speed).
Pour utilisez ce script il suffit de coller ce libellé en ne modifiant que l'adresse de l'image, de donner une taille qui respecte les proportions de votre image et d'adapter les paramètres de zoom et de vitesse à votre convenance.
Question de vous faire saliver, l'exemple mentionné plus haut, une splendide carte de Montréal en 1843.
http://www.cvm.qc.ca/glaporte/mtl.htm
Bonne e-session
HAUT DE
LA PAGE
Essayons un SSI sur ceci
Non, les SSI n'ont rien à voir avec la station spatiale internationale, mais tout à voir si vous souhaitez intégrer du contenu dynamique à vos pages sans vous farcir de programmation.
Clarifions d'abord quelques notions pour bien saisir l'intérêt des commandes SSI. Toute page web fonctionne avec des commandes envoyées vers un ordinateur distant. Ces commandes sont soient exécutées par le PC du visiteur (appelons-le client), soit par l'ordinateur qui héberge votre page web (appelons-le serveur).
On désigne comme CSI (Client Side Includes) les commandes exécutées par l'ordinateur client. Le langage HTML entre dans cette catégorie. Des commandes comme <b>mettre en gras</b> sont opérées par le PC qui visite votre page. Il en va généralement de même pour des langages comme XML, DHTML, JAVA ou JavaScript. Les CSI sont bien intégrés par les internautes débutants puisque l'ensemble des commandes s'inscrit généralement dans le fichier source de sa page. Ils présentent cependant l'inconvénient de ralentir le chargement de la page (pensons aux Applet ou aux Flash!), nécessitent parfois l'importation de plug-in et, surtout, en tant que
webmestre, requièrent qu'on retélécharge tout le fichier pour y changer ne serait-ce qu'une virgule.
Il existe cependant sur le web un protocole qui fait plutôt transiter les commandes par le serveur. Le chemin est alors le suivant :
COMMANDES SUR MA PAGE WEB => TRAITEMENT PAR MON SERVEUR => ACHEMINEMENT VERS LE NAVIGATEUR DU CLIENT.
C'est ainsi que fonctionne le protocole CGI (Commun Gateway Interface) pour lequel se prêtent bien des "langages" comme Perl, C++, php ou ASP. Ça se voit dans la barre d'adresse de votre navigateur. Quand vous semblez atterrir sur une page dont l'adresse mesure un pied de long, c'est généralement que votre requête a transité par le serveur. Ça peut ressembler à ça :
http://www.toto.ca/search/search.cgi?action=go
lang=fr
sort=any...
Je suis sûr que ça vous dit quelque chose... Le résultat est dit dynamique, parce que la page restituée (ouf!) a été générée à partir, soit d'une requête du client (pensons à
Yahoo!), soit d'une mise à jour automatique (pensons à un compteur de visiteurs par exemple, ou à une date). Cependant, bien que très puissant, l'appel CGI requiert des connaissances en programmation ou alors, de passer par des formulaires préprogrammés un peu gossants (bonjour WebCT...). Ce qui fait qu'on demeure très peu au collège à utiliser les
CGI, même si notre valeureux serveur est en mesure de faire des choses assez extraordinaires...
Or il existe une alternative (on y vient enfin) !!!
Le protocole SSI (Server Side Includes) est une application hyper-basic du CGI. L'immense mérite des SSI est de permettre d'insérer des appels dynamiques au serveur en logeant de simples appels dans une bonne vieille page HTML. La gamme des commandes dynamiques que vous pouvez insérer dans vos pages est très grande et, au moment d'écrire ici, j'explore encore ce qu'on peut faire avec le serveur du CVM. Les résultats sont bons jusqu'ici.
Il n'y a en fait que deux choses à faire : 1. Entrer une commande à l'intérieur des balises <!--# et --> 2. Sauvegarder sa page sous le nom nom_du_fichier.shtml plutôt que nom_du_fichier.html
Par exemple, prenons la page web suivante
<html> <head> </head> <body> <!--#include file="toto.txt" --> </body> </html>
Cette commande aura pour effet de faire apparaître le contenu du fichier toto.txt s'il se trouve dans le répertoire courant. Bien sûr c'est un début. Mais déjà la page suivante est plus intéressante...
<html> <head> </head> <body> <!--#echo var="DATE_LOCAL" --> </body> </html>
Elle a en effet pour conséquence de faire apparaître "dynamiquement" la date du jour. Les appel dynamiques SSI sont en grand nombre. On peut par exemple faire apparaître du contenu d'autres pages web (la météo ou les cotes de la bourses) en appelant des commandes sur des serveurs distants. Parce que SSI gère aussi les routines plus compliquées y inclues les IF et les ELSIF, mais ça j'en reparlerai si ça intéresse du monde...
Je m'arrête en effet ici voulant épargner mon dernier lecteur. Mon but n'était rien d'autre que d'attirer votre attention sur cette application du web et de montrer une autre jolie chose qu'on peut faire avec notre serveur NT... N'oubliez pas de sauver vos fichiers avec l'extension SHTML...
Je vous soumets maintenant une page que j'ai préparée pour vous. Elle ne tire profit que d'un type d'appel SSI, soit le "var" qui permet d'extirper des informations du serveur résident, dans ce cas-ci notre cher serveur du CVM.
On y va en cliquant sur : http://www.cvm.qc.ca/scriptsglaporte/SSI.shtml
Ailleurs sur le web, pour en savoir plus : BigNoseBird http://bignosebird.com/ssi.shtml
et SSI Exemple http://www.apacheweek.com/features/ssi
Fonction : Générateur de formulaire de sondage Ce dont je veux parler n'a rien de simple. On parle d'une grosse affaire que je gosse depuis qlq mois et qui n'est pas terminé. Aiguillonné par ce cher Coco Bergeron, je ferai brièvement part de où j'en suis avec mon «programme» de sondage. Ce programme génère, administre et compile des formulaires de sondage. Bien que développé pour mes cours, il peut trouver des applications diversifiées. Je pense par exemple à la SAIDE pour vérifier le taux de satisfaction des élèves, à l'évaluation des enseignements, etc. Depuis le déluge, le collège utilise pour ça un programme descendant de fotran qui marche très bien mais qui, au terme d'un exercice laborieux - dont le plus connu est la fameuse feuille de «petits points» à marquer au crayon de plomb - produit un résultat assez modeste : du code en CSV (Character Separated Interface). Par exemple Gilles|1|2|6|33|5 où chaque chiffre renvoie à une charte de codes. On génère ensuite des moyennes ou un tableau de fréquence. Un sondage quoi. Le «programme» que je propose fait tout ça en un instant et sans avoir à trouver un aiguisoir ! Toujours dans le cadre de mon cours de méthodologie, les étudiants devaient jusqu'ici générer des questions de sondage, les imprimer, les faire circuler, entrer les données et pondérer les résultats. Une opération qui nous prenait des semaines se trouve désormais réduite à un seul bloc de quatre périodes, nous laissant tout le temps de faire de l'interprétation de données. Ce programme permet en effet à une équipe d'étudiants d'entrer leurs questions et leurs choix de réponses et d'automatiquement générer un formulaire en ligne. Pendant que les autres étudiants remplissent leur formulaire, l'équipe responsable voit, à mesure, s'engranger les résultats dans un tableau de compilation dynamique. Au terme de l'exercice, un petit StatView maison pondère les données et génère les tests statistiques requis. Ce petit programme est encore dispersé dans une série de scripts dont voici les principaux : Sondage00.htm est un formulaire flat qui collecte deux types d'information : celles qui mettent en train le programme et qui ne se répètent qu'une fois (on pense par exemple au titre du formulaire ou à un préambule au sondage) et celles collectées dans le cadre de la première question. Sondage.pl lance en boucle la collecte des questions. À chaque nouvelle question soumise, sondage.pl crée, puis alimente un fichier texte et régénère l'écran permettant la saisie de la prochaine question. Quand le responsable a entré toutes ses questions, il active la génération du test qui apparaît immédiatement à l'écran, prêt à être rempli. Les questions et les choix de réponses apparaissent alors dans l'ordre de saisie. C'est enfin par sondage.pl que sera désormais invoqué le formulaire de questions, par un simple appel de paramètre genre sondage.pl?action=sondage_de_Jean_Saigne Sondage06.pl intervient lorsqu'est soumis un formulaire complété. Il va d'une part placer les résultats dans un fichier CSV et, d'autre part, dans un fichier de compilation; des statistiques simples, comme les moyennes et l'écart-type. Cela permet de visualiser les résultats à mesure, même si le sondage est encore en circulation. Liste02.pl est en fait un tableau de compilation truffé de code javascript offrant une vue d'ensemble de ses données et permet de placer les données dans l'ordre de certaines colonnes ou variables. Sondage.txt reçoit les résultats de tous les formulaires : MOT_CLE|date et heure|FormNo|variable1|variable2. Sondage01.txt reçoit les données uniques par sondage MOT_CLE|Titre|administrateur|remarques Sondage03.txt reçoit les résultats pondérés. Je suis pas mal rendu là. Je travaille présentement au script qui génère le tableau de fréquence. Ça veut dire traduire en perl une couple de formules. Mes étudiants n'y voient que du feu ! L'interface est simple à mourir est c'est un vrai plaisir pour eux de voir le travail prendre forme si rapidement, sous leurs yeux. ON VEUT PAS LE SAVOIR, ON VEUT LE VOIR ! Ben j'ai justement fait une petite version maison. Ça ressemble beaucoup à l'interface de mes étudiants. J'ai juste enlevé le paquet de champs mot de passe. Libre à vous donc de suivre le processus jusqu'au bout. De la conception de vos questions, à l'analyse des résultats, en passant par répondre à votre propre sondage. http://www.cvm.qc.ca/glaporte/metho/sondage00.htm
HAUT DE
LA PAGE
(1)Faire (2)faire (3)faire des sondages sans se
fatiguer…
D'abord une remarque. J'ai lu avec intérêt l'article de Réjean Jobin dans le CLIC, à propos du dernier né du CCDMD : Agora-Scriptor. À première vue ça me semble fort intéressant, en particulier en dispensant un prof à programmer et à télécharger son matériel en ligne. Ça a l'air à fonctionner avec du perl et à faire un usage extensif du «&parse_form», qui «dispatche» des données de formulaires vers cinquante mille fichiers et dossiers et où des profs et des étudiants peuvent développer une niche bien à eux dans l'arborisation Agora-Scriptor. C'est pas bête et je trouve que ça nous manque au CVM, surtout que, à part WebCT, le collège n'a guère de portail pour des exécutables et, donc, leur gestion est un peu laissé au petit bonheur la chance. On peut fort bien imaginer un serveur Apache dédié administré par les scripts de Agora-Scriptor. Ça a l'air simple, souple et pas cher. En tout cas, c'est ce que l'article laisse deviner. La faiblesse que je devine est cette idée de «communauté de collaborateurs», qui suppose que les «collaborateurs» doivent assumer une certaine procédure. C'est pas mauvais, mais ça se voit peu dans un cégep urbain comme le nôtre, où les développeurs font davantage des trucs chacun de leur côté. Pas étonnant d'ailleurs que ce soit d'abord développé à des places comme Baie-Comeau et Matane... Mais pourquoi pas ? Peut-être devrions-nous y venir.. Réjean Jobin, «À bas le HTML et le FTP», Clic, no. 44 (avril 2002) : 1-4.
Langage : perl, javascript
Plateforme : marche sur le NT du CVM
DÉMO : http://www.cvm.qc.ca/glaporte/metho/sondage00.htm
Deux SSI fort utiles
Mon texte à propos des SSI a suscité l'intérêt de
certains. C'est pourquoi je
me permets de proposer deux autres applications fort utiles et aisées à invoquer
sur le Win32 du serveur web du CVM.
Le premier truc est à la portée de tous. On parle ici de
l'application probablement la plus
précieuse des SSI. Elle me semble non seulement utile, mais
absolument essentielle si votre site prend une certaine ampleur (disons
douze pages et plus). Le problème que tous connaissent est évidemment
quand on souhaite modifier l'entête de ses pages ou apporter des changements
à sa barre de menu par exemple. On doit alors rééditer chacune de ses pages, l'une après l'autre, pour rendre le changement
uniforme ou se résigner à avoir
un site de plus en plus tout croche.
Pour n'avoir à éditer l'entête de ses pages qu'à un
seul endroit, on n'a qu'à faire
SSI !
1. Il s'agit de créer deux petits fichiers HMTL. L'un
s'appelle haut.txt ou header.txt,
l'autre bas.txt ou footer.txt. L'un contient bien sûr les info devant
apparaître au haut de la page : une bannière, une barre de menu. L'autre
contient un pied de page avec d'autres info à votre guise.
2. Une fois pour toutes, insérez dans le haut et le bas de
chacune de vos pages web les
balises SSI suivantes :
<html><head></head><body>
<!--#include file="haut.txt" -->
***** Laissez intact le contenu de votre page web *****
<!--#include file="bas.txt" -->
</body></html>
3. Désormais - vous l'aurez compris - il ne vous suffira
que de modifier le fichier d'entête
ou le fichier de bas de page pour que le changement s'applique automatiquement à toutes les pages de votre site.
La seconde application est une découverte de ce soir.
La plus intéressante utilisation
des SSI est sans doute de pouvoir invoquer, à l'intérieur d'une page
web, des exécutables, que ce soit des Perl, des PHP, des ASP ou ce que vous
voudrez. Je ne maîtrise pas très bien encore comment invoquer une commande
d'un autre serveur, cependant j'ai enfin découvert comment invoquer
des exécutables dans la racine du serveur du CVM.
Ainsi, si vous êtes à l'adresse http://www.cvm.qc.ca/JeanSaigne/
et que vous souhaitez voir apparaître
dans votre page le résultat d'un script qui s'y
trouve, la commande est : <!--#exec cgi="/JeanSaigne/programme.php?action=meteo"
-->
Pour une raison complètement obscure, il faut rappeler le répertoire à partir de l'adresse web. En tout cas, ça marche. Il y a bien quelques bidules a vérifier encore, mais on peut considérer que le serveur web du collège est 100% compatible SSI ! À nous maintenant d'en tirer profit.
Liste d'envoi
Je m'en voudrais de terminer la session sans suggérer à mes collègues un outil fort utile et aisé à intégrer à votre enseignement dès le début de la prochaine session. Il s'agit d'une liste d'envoi qui permet tout bonnement d'acheminer des courriels à ses étudiants pour les tenir au courant des travaux et des cours entre les rencontres. Le collège offre bien sûr un tel service de liste d'envoi. C'est d'ailleurs de celui-ci dont je me sers présentement. Sauf que Lyris Interactive présente plusieurs inconvénients qui font en sorte qu'à part le groupe de Encéphi, aucun prof à ma connaissance ne s'en sert avec ses étudiants et pour cause !
- L'interface de consultation est en anglais seulement et demeure compliquée, en particulier pour les étudiants.
- Je ne veux pas avoir à faire le pied de grue à la DATI pour qu'il m'ouvre à chaque session un nouveau forum avec de nouveaux étudiants.
Je ne vais pas plus loin, Lyris offre de bons services et j'ai autre chose à faire que de le discréditer. L'outil que j'ai développé pour mes cours, me semble dans tous les cas plus souple et mieux adapté à la communication entre un prof et son groupe.
- Ce n'est pas un «forum». Il ne fait qu'acheminer des messages du prof vers les inscrits.
- Les étudiants ajoutent eux-mêmes leur courriel à partir de votre page d'accueil.
- Il y a moyen d'inscrire automatiquement les étudiants sur la base de leur courriel au collège (1234567@cvm.qc.ca)
- Envoie une confirmation au nouvel abonné, ainsi qu'un avis au professeur.
- Le tableau de bord de l'administrateur est simple et protégé par mot de passe. Il permet a) de modifier votre mot de passe b) d'ajouter ou d'effacer un destinataire et, bien sûr, c) d'envoyer un message brut ou en HTML à tous les inscrits.
- Le courriel reçu par l'étudiant paraît très professionnel. Il ne montre pas les autres inscrits et offre l'opportunité de se désabonner automatiquement.
Dans ce genre de script il est important de bien connaître les caractéristiques du serveur. Ceci dit, il s'avère qu'il fonctionne particulièrement bien sur le Win3.2 du CVM dont le logiciel de courrier dispose des modules nécessaires et dont le SetTimeOut est très généreux et m'a permis d'inscrire sans problème plus de deux cent membres sur l'une de mes listes. Encore et toujours, l'usage de ce script requiert des privilèges d'exécution. Je me ferai cependant un plaisir, si vous le souhaitez, de vous ouvrir un répertoire et à vous présenter le fonctionnement de courriel.pl, même s'il est insignifiant à maîtriser. Je n'ai pas fait de DÉMO pour vous. Je vous renvoie cependant à la page d'inscription du site de l'Association des professeurs d'histoire des collèges du Québec, installée sur le serveur web du collège.
La page permettant aux internautes de s'inscrire à la liste d'envoi : http://www.cvm.qc.ca/scriptsglaporte/forum04/courriel.pl
La page de l'administrateur de la liste d'envoi : http://www.cvm.qc.ca/scriptsglaporte/forum04/courriel.pl?admin
Mot de passe : APHCQ
Bonne correction à tous et à toutes.
HAUT DE
LA PAGE
Certains – et j’en suis
– aiment bien avoir leurs listes d’élèves le plus
tôt possible afin de préparer des templates, attribuer des mots de passe,
etc.. À l’encadrement scolaire on est fin près pour envoyer ces listes le
lundi 26, mais des listes-provisoires-sujettes-à-changement sont déjà
disponibles sur Omnivox. Il y a cependant une «subtilité» pour y accéder.
En espérant que ça peut en intéresser certains...
1. Une fois dans votre compte sur http://omnivox.cvm.qc.ca/PROF/
, cliquez
sur «notes d’évaluation».
2. Vos sigles de cours sont alors affichés. Cliquez sur l’un d’eux.
3. Pour l’instant la seule option accessible est «Grille d'évaluation du
cours 000-000-91 gr. 0000». En effet, pour activer la liste, il faut
d’abord créer une activité évaluée quelconque. Cliquez donc sur cette
option et entrez une activité «bidon» sur 100% où, si ce système vous
intéresse pour tenir vos élèves au courant de leur dossier académique sur
le web, entrez les évaluations prévues cette session. Faites ensuite
«sauvegarder les modifications», puis «poursuivre vers le menu principal».
4. L’option «Entrée ou Consultation des notes pour une évaluation» est
désormais active. En la sélectionnant, l’écran affiche la ou les
évaluations que vous avez soumises. Cliquez sur le titre de l’une d’elles
et la liste des élèves s'affiche.
Ça propose le matricule et le nom de l’élève; pas le programme (!). Il
faut en outre répéter ce petit manège pour chacun des groupes. Omnivox
offre enfin l’option de sauvegarder immédiatement sur un feuille Excel, ce
qui peut ne pas marcher à tous les coups.
HAUT DE
LA PAGE
J’utilise
ce forum pour annoncer en primeur la mise en service d’un
logiciel de gestion de tests en ligne spécialement conçu pour les
professeurs du Cégep du Vieux Montréal. Je travaille à cet outil depuis
mars dernier en collaboration avec une collègue américaine. J’en suis aux
dernières étapes de développement et suis maintenant prêt à inviter mes
collègues à l’expérimenter et à en faire usage.
Réalisé par un professeur de sciences humaines, CVMQuiz est d’abord destiné
aux professeurs dénués de base en programmation, mais intéressés à
utiliser Internet comme support à des activités pédagogiques. CVMQuiz gère
ainsi l’ensemble des opérations liées à l’administration d’un test en
ligne. Un prof génère un test sur Internet, l’élève va le remplir, une
note
est attribuée et conservée sur une base de données ou acheminée par
courriel. Une fois créé, le quiz dispose d’une adresse web immuable que
vous pouvez fournir à vos élèves. Ces derniers y accèdent de la maison ou
dans le cadre d’un laboratoire. Sécuritaire, stable et extrêmement simple
à utiliser, CVMQuiz rencontre je crois le voeu maintes fois réitéré par mes
collègues qui souhaitent disposer d’un logiciel qui produit, génère,
corrige et administre des tests sur le web.
Une fois inscrit et doté d’un mot de passe, n’importe quel professeur peut
accéder à une console très simple offrant essentiellement neuf options :
- «Créer un quiz» permet d’entrer des questions objectives ou à court
développement selon diverses modalités.
- «Modifier un quiz» permet de changer les options d’un quiz, la nature des
questions ou des réponses possibles.
- «Effacer un quiz» (…)
- «Ajouter un élève» permet d’inscrire un élève, de lui attribuer un mot
de
passe et de déterminer les quiz auxquels il peut participer.
- «Modifier un élève» modifie bien sûr les paramètres d’un élève et
les
notes versées à son dossier.
- «Effacer un élève» à la fin de la session par exemple.
- «Réinitialiser un quiz» efface les statistiques d’un quiz pour débuter
une nouvelle session.
- «Statistiques d’un quiz» donne pour chaque test une foule de statistiques
inutiles mais qui passionnent nos élèves comme le mode, écart-type, la
moyenne, la note la plus basse, etc.
- «Statistiques d’un élève», permet de visualiser le dossier des notes
obtenues par chacun à tous les tests.
Si la force de CVMQuiz est sa simplicité et sa convivialité, nous avons
voulu le rendre le plus complet possible en regard des options de quiz.
Nous savons ainsi qu’un test peut avoir plusieurs vocations : sommative,
formative, avec la documentation, sans la doc, ouvert à tous, réservé à
quelques-uns ou devant être réalisé à l’intérieur d’un certain nombre
de
minutes. Une attention particulière a aussi été portée à la gestion des
questions à court développement. Pour une réponse devant être «Montréal»
par exemple, des options permettent par exemple que «montreal»,
«Ville-Marie», «MONTREAL», «mo n réal» ou même «tu changeras jamais mon
Réal» puissent être reconnues comme bonnes, offrant à l’élève
l’impression
d’être «humainement» corrigé. C’est enfin le professeur qui choisit le
type de rétroaction affichée à l’issue du test : Envoyer le résultat par
courriel ? Afficher la note ? Afficher les bonnes réponses ? Afficher les
meilleurs «scores» de la classe ? etc…
CVQuiz est désormais épuré de ses bogues et prêt à entreprendre sa
carrière. Cependant, rien pour un logiciel ne vaut l’épreuve du feu.
C’est donc afin qu’il soit fin prêt pour la session d’hiver que je tenais
dès maintenant à le placer entre vos mains avides. Je suis cependant
confiant que l’outil s’avèrera à la hauteur de vos attentes et qu’il
vous
donnera satisfaction. Il y a sûrement encore des coquilles et quelques
mots en anglais qui traînent ici et là, mais rien qui puisse nuire au
fonctionnement du logiciel. Veuillez cependant nous en excuser.
Je vous invite donc à simplement m’écrire pour me signifier votre désir de
tester l’interface de CVMQuiz. En un instant je vous crée un espace dans
«la salle des professeurs» et vous attribue un mot de passe. Vous serez
alors en mesure de créer des quiz et de générer des élèves. Cela ne vous
engage bien sûr à rien d’autre.
En tant que prof au CVM et artisan du projet, vous pouvez enfin compter sur
mon support empressé pour vous assister dans vos premiers pas avec CVMQuiz.
Il s’agit ici d’une initiative qui peut s’étendre sur des années. Des
perfectionnements seront donc régulièrement apportés à CVMQuiz afin que
votre investissement se rentabilise de session en session.
CVMQuiz ver 1.0
historique ou étapes de l’implantation
Janvier 2002 – Expérimentation au collège de WebCT. Le logiciel s’avère
complexe à utiliser. Les professeurs manifestent cependant leur intérêt
pour un gestionnaire de tests en ligne simple et efficace.
Mars 2002 – Premiers contacts avec Kristina L. Pfaff-Harris qui travaille
déjà à concevoir un gestionnaire de tests à accès sécurisé.
Avril 2002 – Première version BETA de CVMQuiz. Rencontre avec la Direction
des études à propos de l’opportunité de développer le logiciel à
l’intention des professeurs du CVM.
Juin 2002 – Un été à écrire des routines et à les harmoniser avec le
serveur du CVM.
Août 2002 – Correction des «bogues» les plus évidents en collaboration
avec
quelques usagers témoins.
Septembre 2002 – CVMQuiz BETA devient CVMQuiz ver. 1.0…
Septembre 2002 – Inviter les professeurs à tester l’interface de CVMQuiz et
à rapporter d’éventuels inconvénients, ainsi que les corrections
souhaitées.
Octobre 2002 – Apporter les changements attendus en collaboration avec les
usagers.
Novembre – décembre 2002 – Tenir des séances de formation et
d’information
sur CVMQuiz et inscrire les professeurs intéressés au club sélect des
producteurs de tests en ligne.
Janvier 2003 – Un nombre indéterminé de professeurs utilisent les tests en
ligne dans le cadre de leurs cours. Gilles Laporte administre le logiciel
et offre du soutien technique aux usagers tout en continuant à jouer au
prosélyte.
Je tiens en terminant à remercier la Direction des études, secteur
préuniversitaire, qui nous a encouragé à développer ce logiciel et qui nous
offre son soutien, ainsi que Mme Kristina L. Pfaff-Harris de l’Université
du Minnesota, responsable de la version anglaise du logiciel sous le nom de
Quiztest (c)2002.
Ça m’intéresse mais qu’est-ce que je fais maintenant ?
1. Accédez immédiatement à l’interface de CVMQuiz. Pour ce faire, j’ai
créé spécialement pour vous un professeur-usager, un élève et un petit
quiz. CVMQuiz habite au http://cgi.cvm.qc.ca/scripts/CVMQuiz/
Identifiez-vous en tant que : prof@cvm.qc.ca,
mot de passe : prof. Pour le
reste, suivez les consignes…
2. Je veux en savoir davantage sur CVMQuiz. J’ai à cet effet mis en ligne
le projet tel que soumis à la Direction des études du CVM en avril 2002.
http://www.cvm.qc.ca/scienceshumaines/rubriques.htm
>> CVMQuiz
3. J'écris à glaporte@cvm.qc.ca pour
qu’il m’ouvre un compte personnel en
tant que prof.
4. Je teste les possibilités du logiciel.
5. Je rapporte les bogues et je soumets mes commentaires au petit forum de
discussion sur CVMQuiz à : http://www.cvm.qc.ca/scriptsglaporte/bogue.pl
6. J’assiste aux présentations en novembre et décembre ou je prends
immédiatement rendez-vous avec glaporte@cvm.qc.ca
Merci de votre intérêt,
HAUT DE
LA PAGE
Deux outils pour des sites pédagogiques (08/03/03)
Je rassure tout de suite les professeurs : non, vous n’êtes toujours pas disponibles au travail. D’ailleurs, pour bon nombre, ce message est probablement le 135ième sur 272… Je profite cependant de votre coma estival pour aborder deux fonctionnalités très utiles si vous prévoyez lancer ou modifier votre site pédagogique.
1) Un générateur d’arborisation C’est bien connu, les profs sont des gens organisés et ça se reflète sur leurs pages web. Les menus en arborisation où la navigation simule les dossiers et les fichiers au «look» Windows sont particulièrement populaires sur les sites pédagogiques. C’est toujours fait en JavaScript, mais ça implique une programmation interminable et surtout des maux de têtes quand il faut mettre à jour les rubriques du menu.
Visual Folder Tree Builder 2.1 est un gratuiciel sensationnel qui génère et met à jour les liens d’un menu arborisé. En un instant on se fait un arbre de liens d’une apparence impeccable sans une miette de programmation. La fonction export génère un dossier avec tous les petits gifs et le code javascript.
On peut directement le télécharger par le site de SimTel à http://www.simtel.net/product.download.mirrors.php?id=55879
Profitez-en pour visiter le site de Mysoft qui propose d’autres interfaces Javascript fort intéressantes. http://mysoft.s5.com/
Enfin, une petite capture d’écran de l’apparence de Visual Folder Tree Builder 2.1 http://www.cvm.qc.ca/glaporte/images/tree.gif
2) Éditeur de travaux étudiants en ligne PHP (ironiquement appelé People Hate Perl) est un langage conçu pour les serveurs Linux absolument formidable. C’est beaucoup plus simple que le Perl et ça s’intègre tellement mieux à des pages web. PHP fonctionne particulièrement bien avec des feuilles de style (templates) où les codes sont insérés et reconnus par le serveur; style :
%%nom01%% est allé promener le chien de %%nom02%% le %%date%% dernier.
À l’appel du champ, une base de données est invoquée et insère une valeur à la place de la variable. Sur les serveurs NT ça peut être un système ASP ou MsSQL, sur UNIX ça peut être ORACLE ou MySQL. Sur le NT du collège c’est rien pantoute parce qu’on a pas de système de base de données web (il en est question cependant). On doit donc se créer une base de données maison, sauvegardée dans un bon vieux fichier txt (flattext) où les champs sont séparés par un caractère réservé
(CSV). Ça ressemble à ça :
NOM01 | NOM02 | DATE Tom | Gerry | 04 août
Le problème c’est que passé une certaine taille, de tels systèmes font des freegames et ne sont plus fiables.
J’ai passé une partie de l’été à refaire le site de mon cours de méthodes des sciences humaines. Comme je souhaite travailler à long terme, j’ai pris la décision d’installer certains scripts sur un serveur UNIX équipé en MySQL, en l’occurrence celui de l’UQAM. Tout ça pour dire que ça m’a permis de mettre au point un outil dont le profit pédagogique est considérable.
Certains de nos cours consistent à faire faire un travail de «longue haleine» où on tente de suivre les étudiants tout au cours de la session. On leur demande ainsi un plan de rédaction à telle semaine ou une bibliographie à telle autre. Malgré cela on a souvent de drôles de surprises à la fin de la session, particulièrement pour les travaux en équipe. Le web et PHP permettent d’assurer un suivi constant sur le rendement et la qualité du travail fourni par les étudiants.
Le professeur détermine dans des feuilles de style les étapes d’un travail à réaliser seul ou en équipe. Ça ressemble à un formulaire où l’élève ajoute et modifie du texte tout le long de la session. Le travail est automatiquement mis à jour et est visible sur le web et peut être modifié par les membres d’une équipe qui disposent d’un mot de passe. J’avais déjà réalisé de tels outils mais me heurtais en Perl et sur NT à des problèmes de gestion de la base de données, notamment lors de la modification des données. Désormais, je peux lire le travail de mes étudiants à tout instant et leur acheminer des demandes de corrections au fur et à mesure. Le même outil est donc à la fois un espace de travail et un lieu de diffusion du travail.
On accède à cet outil en passant par le site du cours IPMSH à http://cgi.cvm.qc.ca/ipmsh/
Cliquez sur PROJETS dans le menu. Vous avez alors l’opportunité de lancer votre travail. Amusez-vous, de toutes façons vous pouvez toujours en effacer toute trace au terme de votre visite.
HAUT DE
LA PAGE
C’est Pierre Roy qui m’en a parlé le premier, puis un autre. Bref je suis allé voir Robert Laferrière pour qu’il me donne un code d’accès au «DEC Virtuel», la dernière trouvaille du Ministère pour faire travailler les prof en ligne et dont le cégep du Vieux Montréal est devenu membre au cours de l’automne dernier. Comme je n’aime pas que mon collège dépense de l’argent pour rien, je me suis donné une heure pour faire le tour, prendre des notes et un petit trente minutes pour vous écrire ceci. Vous ne trouverez donc là que quelques notes. J’espère cependant que ce sera suffisant pour piquer votre curiosité, que vous alliez voir Robert et fassiez votre propre voyage au pays du DECVIR.
Pour ceux qui cherchent encore de quoi je parle, disons qu’il existe des «environnements web» dans lesquels des profs et des élèves inscrits peuvent réaliser en ligne des activités pédagogiques. WebCT est historiquement le plus connu de ces «portails». On y retrouve en général des gadgets de la seconde générations de sites : forum prof/élèves, messagerie, éditeur de tests en ligne, éditeur de page web. Bref une série d’outils qui sont laborieux à programmer quand un prof décide de «monter son site tout seul dans son coin». Est-ce que c’est plus clair ? Bien sûr le gouvernement aime bien ce genre de machin parce ça génère des PERFORMA et qu’il doit caresser le rêve secret d’un jour mettre la clé dans la porte des collèges et ploguer tout ce beau monde à la maison devant son écran. Mais n’allons pas cautionner ce genre de légendes urbaines…
DEC Virtuel offre deux grandes options. D’une part, accéder à des cours déjà montés avec des contenus et des activités déjà préparées (surtout philo, français et quelques cours de sciences. Robert a la liste). D’autre part, accéder à un espace personnel où un prof peut monter son propre cours en se servant des outils de DEC Virtuel.
Je suis en général prompt à la critique. Or je dois avouer que j’ai été authentiquement impressionné par DEC Virtuel qui me semble une grande réussite au moins sur le plan de la programmation sinon sur le plan pédagogique. On est tout le long dans un environnement ASP très rapide et très attrayant. C’est aussi plein de JavaScript et de XML. Une pure prouesse de programmation ! Le logiciel est en outre vraiment rapide et très stable et ne devrait pas planter souvent. Bravo aux programmeurs… La facture a du être salée. C’est qu’ASP permet de faire de fichues belles interfaces et c’est bien le cas ici. Finis les combos box et les codes tordus à la WebCT. C’est plein d’icônes familières telles qu’on les retrouvent dans nos chers produits Microsoft. Une fois sur l’interface du prof. Une barre de menu ( un très beau DHTML) reprend d’ailleurs les menus défilant de Windows.
DEC Virtuel ne réinvente quand même pas la roue au niveau des outils de communications mis à la disposition des profs/étudiants. On retrouve ni plus ni moins que ce qu’offre les autres logiciels de ce genre, soit: La messagerie : un Hotmail intégré; Les forums : très bien fait, avec la possibilité d’envoyer un message en HTML et même de joindre un fichier à son message; Les forums collaboratifs :en développement qu’ils disent ;^))); Clavardage, selon nous parfaitement inutile à moins que vous souhaitiez donner votre cours de chez vous (voir plus haut légende urbaine); Un utilitaire calendrier assez bien fait et visuellement réussi permet de placer les activités prévues durant la session. Il y a un éditeur et un gestionnaire de questions. Ça a pas l'air qu'il va plus loin que des petits tests objectifs avec un pop-up qui nous dit si on a ou non la bonne réponse. Donc, j'ai pas l'impression qu'il engrange les notes dans un dossier de l'élève.
Notons au passage une belle trouvaille, la possibilité de voir tout ceux qui sont en ligne en même temps que nous et le collège d’où ils sont issus. Ainsi, il était quinze heures, jeudi 13 lors de ma visite. Il y avait là seize étudiants, la plupart du Collège de Bois-de-Boulogne. Bois de B semble avoir pas mal investi là-dedans. Ils ont même placé la photo de chacun de leurs élèves sur le web! (et moi qui croyait être le seul dans la province à avoir ce culot!) Tous ceux qui disposent d'un compte sont aussi invités à remplir une «fiche d'inscription» où on peut afficher son courriel, son URL, sa photo et des gugusses personnels, y compris répondre à la question suivante : «Quelle est la qualité que vous aimez le plus en vous ?» …Entre la psychologie du Soi et l'agence de rencontre.
L'éditeur de site est entièrement en JavaScript, un travail débile ! Ça se présente comme une fenêtre où on reproduit les boutons tels qu'ils apparaissent sur FrontPage, y compris l'opportunité de travailler directement dans le code HTML. Que ce soit clair. C’est le plus bel éditeur de page web en ligne que j’ai jamais vu, même sur de très gros sites américains. Bravo.
Le principal problème avec ce genre d’éditeur en ligne réside cependant dans le chargement des fichiers sur le serveur et DEC Virtuel ne résout pas cet inconvénient. Le chargeur de documents a beau être brillamment fait, permettant en fait de se passer d'un FTP, ce genre de dataLoader est généralement lent et ne télécharge qu'un fichier à la fois. A lui seul cet inconvénient diminue grandement l’intérêt de DEC Virtuel, malgré ses nombreux mérites.
Je rappelle en terminant que j’y ai passé une heure en tout et pour tout. Je peux me planter à propos de certaines affirmations, mais disons que je crois avoir vu l’essentiel. Ça m’a franchement l’air bon.
FORCES Très rapide, plante pas. Pas de menu de choix et paramètres bizarroïdes tels qu'on les retrouvait par exemple sur WebCT. Les forums sont particulièrement chouettes. Permettent d'envoyer en ascii ou en HTML et même de joindre des fichiers à son message. Un éditeur de page web vraiment sensationnel.
FAIBLESSES Le mot de passe pour usagers est un javascript que j'ai piraté en quelques minutes. Pas fort... De même les tests en ligne. Je me suis ainsi mérité un 100% en Philosophie ! L’outil de chargement des fichiers en ligne est lent et ne capte qu’un fichier à la fois. Les icônes sont mystérieuses et parfois mal choisies. Ainsi un téléphone pour accéder aux forums ou un bonhomme sourire pour accéder au clavardage…
DEC Virtuel un produit développé par Corporation DECVIR http://decvir.cetnet.com/FR/
Pour un code d’accès Robert Laferrière rlaferriere@cvm.qc.ca
Vente de garage !
Wow ! Une rentrée ma foi fort réussie à l’hiver 2003. Notez que je n’ajoute pas «de mon point de vue» pcq j’en ai personnellement bavé un coup avec le déménagement des adresses web. Pour les autres gestionnaires de sites, il semble que ça ait été plus de peur que de mal. Ceci dit j’aurai en attendant été forcé à un douloureux ménage parmi mes logiciels en ligne. À toutes choses malheur est bon, j’en aurai profité pour faire de l’ordre et redéployer mes scripts en utilisant de nouvelles librairies. Mille fois re-vérifiés, ces scripts sont ceux dont j’ai écrit l’ensemble du code et auxquels je peux appliquer le label «Laporte Proof» ce qui, entre vous et moi, vaut ce que ça vaut. Demeure qu’ils me rendent quotidiennement de sapré bons services pédagogiques. Ils sont écrits en un mélange de C-perl-java fait sur mesure pour ce bon vieux Mercure Win32 du CVM. Je peux ainsi garantir leur parfait fonctionnement chez nous. Je rappelle en outre que le ménage de janvier ouvre toutes sortes de possibilités pour ceux-celles parmi vous qui voudrez accéder à la vitesse «interactivité» avec leurs sites pédagogiques. Rappelons enfin que mon désir de vous assister dans leur implantation sur votre site n’a d’égal que ma disponibilité pour y satisfaire.
En d’autres mots, consulter cette liste. S’il y a qlq chose qui vous intéresse, écrivez moi et je vous le paramètre en un tournemain.
Un forum de discussion bas de gamme http://cgi.cvm.qc.ca/glaporte/newsgroup.pl Il tient en deux, trois pages de programmation : un fichier de commande et un fichier txt. Pas très joli mais hyper robuste. Mes étudiants s’en servent par exemple pour s’échanger des documents. Instantané, plus vite que Hotmail. BÉTON !
Un forum de discussion haut de gamme http://cgi.cvm.qc.ca/histoire/scripts/menu.pl?browse&communication Je m’en sers en guise de forum «officiel» parce que l’interface est beaucoup plus paramétrable et que le prof est le seul à pouvoir intercaler des remarques ou commentaires. Vient avec deux fichiers de commandes, l’un opère la discussion, l’autre est réservé à l’administrateur et est protégé par mot de passe. CHIC !
Référeur de sites bas de gamme http://www.cvm.qc.ca/glaporte/metho/chargement.htm Tout bête ! Il prend le titre, l’adresse cliquable et la description du site. Très simple, très efficace, parfaitement paramétrable. IMPARABLE !
Référeur de site haut de gamme http://cgi.cvm.qc.ca/histoire/scripts/liens.pl En particulier parce qu’il interdit de faire la critique d’un site plus d’une fois (mes étudiants détestent ça). Utile pour monter une vraie banque de sites qui grossit de session en session. Un formulaire permet à l’administrateur de gérer un menu de catégories, d’éditer et d’effacer les sites versés. LA CLASSE…
Se réserver un thème de travail de session http://cgi.cvm.qc.ca/histoire/scripts/articles.pl Génial lorsqu’on a une série de travaux ou de thèmes de recherche au choix : Premier rendu, premier servi ! Suffit d’énumérer ses sujets de recherche dans un fichier txt pour que le script les place en liste et les livre aux étudiants prédateurs. Ces derniers choisissent un sujet qui leur est dès lors réservé. Intéressante option par laquelle un étudiant, détenteur d’un mot de passe créé lors de la réservation du thème, peut se désister ou modifier sa propre fiche… EFFICACE
Charger sur le web http://cgi.cvm.qc.ca/histoire/scripts/liste02.pl?get&étudiants/web_Placer%20sur%20le%20web.htm J’ai déjà parlé à une autre époque de cet outil permettant aux étudiants d’envoyer du texte sur une page virtuelle dans l’ordre où doivent par exemple apparaîtrent les rubriques d’un travail de session… BASIC
Susu 2.0 http://cgi.cvm.qc.ca/glaporte/sondage/susu20.pl Les commentaires ont été unanimes, Susu 2.0 gestionnaire de sondages en ligne vous a plu et je vous en remercie. Je ne l’ai pas gossé depuis l’automne dernier et il demeure à votre disposition. Susu permet d’entrer des questions de formulaires de sondages, de générer des formulaires remplis en ligne et de produire des résultats graphiques visibles par le créateur du formulaire. À la fois simple et performant, mes étudiants en ont le cul par terre et j’économise une fortune en frais de photocopies... À VOIR OU À REVOIR… accès au prof : prof Mot de passe : compétent
CVMQuiz http://cgi.cvm.qc.ca/cvmquiz/ J’ai beaucoup travaillé avec CVMQuiz qui demeure à ce jour mon plus gros (lire monstrueux) logiciel. Cent onze pages des codes devant permettre aux non-initiés d’administrer des tests en ligne et d’engranger les résultats. Toujours disponible dans son interface dithyrambique. MÉRITE VOTRE ATTENTION Id : prof MdP : prof
MC-03 http://cgi.cvm.qc.ca/histoire/scripts/mc03.pl Personnellement, c’est celui dont je suis le plus fier. Le ménage auquel m’ont convié Pierre R. et Suzie P. m’a entre autres amené à conduit à intégrer certains scripts par une série de «if (…)» on ne peut plus «coboléens». MC-03 (tout simplement multi-choix ver 3) est conçu comme un progiciel qui reçoit des formulaires web. Son architecture tient en particulier compte des «hidden fields» du formulaire : selon que vous voulez ceci, il génère cela. C’est la cour de miracles ! Je vous pique ? Que fais au juste cette bête informe ? TOUT ! (pédagogiquement s’entend) - Contrôle par mot de passe l’accès à une activité évaluée - Contrôle si l’activité est accessible à cette date et de ce lieu (DNS dédié) - Corrige les formulaires acheminés. - Offre une rétroaction commentée - Retient la note, la collige et la verse au dossier PERSONNEL de l’étudiant(e) - Génère (dans tous les sens du terme) le dossier de l’étudiant, calcul sa moyenne, son écart-type au reste du groupe et tutti quanti - Rappelle à l’étudiant sa moyenne, sa progression et le sermonne au besoin par rapport aux points qui lui restent à accumuler en regard de la note de passage et de la moyenne du groupe. VOUS DISIEZ BIG BROTHER ? - Évidemment MC-03 gère aussi l’accès au cours, les inscription et la durée du «login» et s’occupe de tenir au courant les étudiants de l’état de leur dossier par courriel à dates fixes.
Ouais mais n’est-ce pas ce que tu offres déjà avec CVMQuiz ? Non, MC-03 c’est à la fois moins et plus que CVMQuiz. CVMQuiz est conçu pour permettre à n’importe qui (lire n’importe qui) de gérer des tests en ligne. Il n’offre pas en revanche toutes les possibilités de gestion de classe qui mènent vos notes aux portes d’Omnivox. En revanche MC-03 le fait et bien plus. Le «module» est en fait conçu pour recevoir virtuellement n’importe quoi. C’est bien simple, je me décide généralement le dimanche soir. En revanche. Si vous souhaitez l’utiliser, payez-moi un café et on parle rédaction de formulaires web…
Là dessus, humblement ou virtuellement vôtre,
Exercice de structure de texte en JavaScript
Quelle que soit sa discipline, des textes qu'on demande à l’élève on vérifie surtout sa capacité à organiser des idées d’une manière logique. On peut donc avoir à consacrer beaucoup de temps en classe, puis en correction, à simplement vérifier cette aptitude.
C’est d’autant plus vrai si, dans le cadre de son épreuve synthèse, je prévois demander à mes élèves un texte argumentatif ou une dissertation. Comment dans le cadre d’un atelier leur faire admettre l’importance de bien structurer un texte ?
Le petit JavaScript que je propose consiste à poser une question à ses élèves et bel et bien de leur offrir tous les éléments de la réponse. Ces éléments sont cependant présentés dans un parfait désordre. C’est la tâche de l’élève de les organiser et de soumettre l’agencement trouvé à la correction.
Je l’ai fait cette semaine dans le cadre d’un laboratoire et ça s’est avéré un franc succès. Les élèves avaient droit à toute leur documentation, mais ils ont vite compris que des informations mal structurées ne servent à rien. Au terme de l’exercice, une note est attribuée et une rétroaction explique comment les éléments de réponse devraient être agencés. De retour en classe mes élèves ont témoigné de leur appréciation et combien un tel exercice permet de souligner l’importance de structurer ses idées en vue par exemple d’un texte argumentatif.
J’en parle aussi ici parce que c’est plutôt facile à incorporer à une page web et qu’il me semble que certaines disciplines comme philosophie ou mathématiques, qui accordent autant d’importance au processus qu’au résultat, peuvent tirer profit d’un tel outil.
C’est un peu abstrait j’en conviens. Pour une démonstration, accédez simplement à l’exercice tel que conçu pour mes élèves du cours Histoire de la Civilisation occidentale. Il faut pour cela parcourir le site/cours. http://www.cvm.qc.ca/scriptsglaporte/civilisation/ Puis, dans l’arborisation, >> LE COURS >> Méthodologie >> ATELIER- Le Moyen Âge et les mondes divins
Cinq questions sont soumises aux élèves. Amusez-vous à vous-même MONTER et BAISSER les éléments de réponse à la recherche de l’ordre idéal. Ferez-vous preuve d’autant de patience et d’assiduité que mes élèves ? Si oui, j’ai ouvert un compte temporaire qui vous permettra de soumettre vos réponses : Matricule : prof Mot de passe : prof
(Ce droit d’accès vous ouvre les portes de la plupart des autres activités pédagogiques du site. Réalisé cet été, ce site s'avère une véritable «boîte à outils de TIC». S’il y a des trucs s’y trouvant qui vous intéressent je peux vous aider à les implanter dans vos pages web.)
===========================================
Voici enfin la routine qui doit être intégrée à votre page HTML pour créer une liste permettant d’organiser des items.
1. Entrez le code suivant entre le <head> et le </head>.
<SCRIPT LANGUAGE="JavaScript">
function monterUnItem(obj) {
// si > 1 bouger de.. à la fois var selectedCount=0; for (i=0; i<obj.options.length; i++) {
if (obj.options[i].selected) { selectedCount++; } } if (selectedCount > 1) { return; }
// Si c'est le premier item de la liste ne rien faire var i = obj.selectedIndex;
if (i == 0) { return; } swapOptions(obj,i,i-1); obj.options[i-1].selected = true; }
// -------------------------------------------------------------------
// moveOptionDown(select_object) // Move selected option in a select list down one
// -------------------------------------------------------------------
function baisserUnItem(obj) {
// si > 1 bouger de.. à la fois var selectedCount=0; for (i=0; i<obj.options.length; i++)
{ if (obj.options[i].selected) { selectedCount++; }
}
if (selectedCount > 1) { return; }
// Si c'est le dernier item de la liste ne rien faire var i = obj.selectedIndex;
if (i == (obj.options.length-1)) { return; } swapOptions(obj,i,i+1); obj.options[i+1].selected = true; }
</script>
2. Entrez ensuite un menu défilant dans votre page web (<body>) en intégrant le code suivant :
<form>
<select multiple size=5 name="MonterBaisser">
<option selected>*Cliquez sur MONTER/BAISSER pour déplacer un item*</option>
<option>Item 3</option> <option>Item 1</option> <option>Item 2</option>
</option> </select> <p align="center"> <INPUT TYPE="button" VALUE="Monter" onClick="moveOptionUp(this.form.updownlist)">
<INPUT TYPE="button" VALUE="Baisser" onClick="moveOptionDown(this.form.MonterBaisser)">
</form>