Skip to content
piferrari edited this page Mar 24, 2017 · 12 revisions

Principe de fonctionnement

Création d'un compte

Un élève crée un compte sur le site Web en fournissant son adresse email. Le site envoi une confirmation à l'élève dans sa boîte mail contenant un lien d'activation/login. Le lien active crée et active automatiquement le compte grâce à l'adresse email confirmée. Cette adresse email sera utilisée comme ID du LDAP. Cet ID permettra d'obtenir des informations tel que la classe dans laquelle l'élève se trouve et donc, son année (1ère, 2ème, 3ème ou 4ème).

Login

L'élève se rend sur la page d'accueil. Il entre son adresse email et le système lui retourne un email avec le lien de login (token à usage unique). Par exemple: https://portfolio.cpln.ch/login/token/e9de45437b181094e0363f0eaf7719c8314c7bc35afd5966727b8a0d13aebc7e

Le système récupère son email et place en $_SESSION les informations nécessaires. En fonction de l'année et du semestre, le système propose des tâches (task) à l'élève. Parmi ces tâches, certaines sont obligatoires d'autres facultatives. C'est l'élève qui s'attribue une tâche!

Tâches

Les tâches comportent un domaine d'activité (programmation, réseau, embarqué, web, base de données), une description, un objectif, une durée, le matériel nécessaire, un niveau de difficulté et le caractère obligatoire ou facultatif. Il est en outre possible de définir une tâche de pré-requis (fkPrerequisite). Le système ne proposera alors à l'élève la tâche que si ce dernier à déjà accomplit la tâche pré-requise.

Exemple de tâche (base de données)

`tasks`
id:1
fkDomain:1 -> Programmation
fkPrerequisite:NULL
description: [[[
Réaliser un programme (C# Console) permettant de chiffrer une chaîne de caractères selon le chiffrement de César.
Le programme lit en entrée la chaîne de caractères à chiffrer ainsi que la clé de chiffrement.
<b>Exemple:</b>
<code language="cmd">
C:\Temp\> cesar.exe "Bonjour les pingouins!" 13
Obawbhe yrf cvatbhvaf!
</code>
]]]
goal: Le programme est considérer valide s'il chiffre correctement plusieurs chaîne de caractère et que le code est "propre", c'est-à-dire, utilisation de boucle, variables correctement nommées!
duration:5
material:PC standard CPLN
level:3
obligatory:TRUE

Exemple de tâche (affichage)

Programmation

Réaliser un programme (C# Console) permettant de chiffrer une chaîne de caractères selon le chiffrement de César. Le programme lit en entrée la chaîne de caractères à chiffrer ainsi que la clé de chiffrement.

Exemple:

C:\Temp\> cesar.exe "Bonjour les pingouins!" 13
Obawbhe yrf cvatbhvaf!

But:

Le programme est considéré valide s'il chiffre correctement plusieurs chaîne de caractères et que le code est "propre", c'est-à-dire, utilisation de boucle, variables correctement nommées!

Durée : 5 périodes

Matériel : PC standard CPLN

Difficultés : ★★★☆☆

Obligatoire : oui

Liens : dcode

Mise en production

Pour la mise en production il faudra:

  • Changer le moteur de base de données pour du mySQL
  • Changer $config['base_url'] = '//portfolio.com';

TIPS

Lorsque le driver SQLite n'arrive pas à écrire dans une table avec une message d'erreur "Unable to open database", il faut vérifier que le répertoire ET le fichier base de données ont les droits d'écriture.

drwxrwxr-x 2 me group 4096 mar 24 09:11 database

L -rw-rw-r-- 1 me group 26624 mar 23 19:56 portfolio.db