Skip to content
kurso de esperanto
Branch: master
Clone or download
Latest commit 8c39387 Jun 26, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ajax Fix #881 Jun 26, 2019
bildoj màj boutique fix #840 #860 Apr 8, 2019
cron Fix #659 Jun 20, 2019
db
doc
fonts version android... on avance Oct 30, 2017
fr audio leçon 7 Jun 24, 2019
ikurso ajout du fichier de config Jan 11, 2018
js Fix #881 Jun 26, 2019
kopio version android... on avance Oct 30, 2017
mails
maquettes version android... on avance Oct 30, 2017
pdf
python script python pour generer les fichiers html qui seront utilisés par … Jan 9, 2018
requete version android... on avance Oct 30, 2017
sessions version android... on avance Oct 30, 2017
soundmanager2 découpage audio leçon 3 fix #280 Aug 21, 2016
sql Fix #881 Jun 26, 2019
style message d'erreur formulaire + fix #884 Jun 9, 2019
.gitignore
README.md Update README.md Apr 2, 2019
___ATTENTION
addforum.php version android... on avance Oct 30, 2017
administri.php Fix #813 Apr 4, 2018
administri2.php version android... on avance Oct 30, 2017
administriNunanKurson.php version android... on avance Oct 30, 2017
adminkapo.inc.php version android... on avance Oct 30, 2017
aktivigi.php version android... on avance Oct 30, 2017
aldoniNoton.php version android... on avance Oct 30, 2017
aldoniNoton2.php
aldoniferion.php version android... on avance Oct 30, 2017
aldoniferion2.php version android... on avance Oct 30, 2017
aligxi-konfirmi.php version android... on avance Oct 30, 2017
aligxi-old.php version android... on avance Oct 30, 2017
aligxi.inc.php correction url fix #93 Aug 11, 2018
aligxi.php
aligxi2.php
atendiKorektanton.php version android... on avance Oct 30, 2017
bonvenon.inc.php version android... on avance Oct 30, 2017
bonvenon_K.inc.php version android... on avance Oct 30, 2017
butiko.php màj boutique fix #840 #860 Apr 8, 2019
csshover.htc version android... on avance Oct 30, 2017
datenoj.inc.php version android... on avance Oct 30, 2017
db.inc.php Correction d'un GROS bug qui ne calculait pas correctement la prochai… Jun 13, 2019
de.inc.php version android... on avance Oct 30, 2017
delete.php version android... on avance Oct 30, 2017
dewplayer.swf
diplome.php nouvelle version materialize + correction date de naissance fix #841 #… May 30, 2019
diplomeImage.php version android... on avance Oct 30, 2017
elektiLecionon.php version android... on avance Oct 30, 2017
eleveJeunes.php version android... on avance Oct 30, 2017
eliri.php version android... on avance Oct 30, 2017
en.inc.php version android... on avance Oct 30, 2017
eniri-por-administranto.php
eo.inc.php
eotajpu.js version android... on avance Oct 30, 2017
etiquettes.php version android... on avance Oct 30, 2017
eventoj.php version android... on avance Oct 30, 2017
favicon.ico version android... on avance Oct 30, 2017
forigiNoton.php version android... on avance Oct 30, 2017
formulaire_C.html
fr.inc.php version android... on avance Oct 30, 2017
fsxangxinoton.php
gallery-core.pot
googlefc03f91657766d69.html version android... on avance Oct 30, 2017
guide-fr.pdf
he.inc.php version android... on avance Oct 30, 2017
helpo.php fix #839 Jun 10, 2019
helpo2.php version android... on avance Oct 30, 2017
helpo_accents.inc.php correction liens morts Aug 9, 2018
helpo_accents_mobile.inc.php version android... on avance Oct 30, 2017
helppagxo.php version android... on avance Oct 30, 2017
igiKorektanton.php
index.php Correction de l'url de Robin Jun 24, 2019
kialo.php version android... on avance Oct 30, 2017
kionova.php ajout de son DLEK 1 à 3 + màj kionova Jun 1, 2019
kiujniestas.php
klavaro.zip version android... on avance Oct 30, 2017
korektado-admin.php nouvelle version materialize + correction date de naissance fix #841 #… May 30, 2019
korektado.php nouvelle version materialize + correction date de naissance fix #841 #… May 30, 2019
korekteur_en_retard.php version android... on avance Oct 30, 2017
lettre.txt
lingvo.inc.php version android... on avance Oct 30, 2017
local.php version android... on avance Oct 30, 2017
mastrumistudantojn.php version android... on avance Oct 30, 2017
mastrumistudantojn2.php
memoriVortojn.php Suppression du panneau nouveau pour l'outil de révision de vocabulaire May 31, 2019
miajlernantoj.php Fix #753 Nov 17, 2017
miajlernantoj2.php version android... on avance Oct 30, 2017
mockup-miajlernantoj.php version android... on avance Oct 30, 2017
monitor.html version android... on avance Oct 30, 2017
nuligiferion.php version android... on avance Oct 30, 2017
pagxkapo-old.inc.php version android... on avance Oct 30, 2017
pagxkapo.inc.php
pagxpiedo-old.inc.php version android... on avance Oct 30, 2017
pagxpiedo.inc.php nouvelle version materialize + correction date de naissance fix #841 #… May 30, 2019
pasvortoforgesita.php
pasvortoforgesita2.php version android... on avance Oct 30, 2017
personinformoj.php
persono.inc.php
phpinfo.php version android... on avance Oct 30, 2017
reago.php message d'erreur formulaire + fix #884 Jun 9, 2019
reago2.php version android... on avance Oct 30, 2017
repreniLernanton.php version android... on avance Oct 30, 2017
ressources-old.php
ressources.php
rezulto.html
robots.txt
script.cgi
sercxi.php version android... on avance Oct 30, 2017
ss1.jpg
ss2.jpg version android... on avance Oct 30, 2017
ss3.jpg version android... on avance Oct 30, 2017
ss4.jpg version android... on avance Oct 30, 2017
stat-fr.html version android... on avance Oct 30, 2017
stat-fr.swf version android... on avance Oct 30, 2017
stat-monatoj-pie.php
stat-monatoj.gif
stat-monatoj.php
stat.inc.php version android... on avance Oct 30, 2017
stat.php
statLauxKategorio.php version android... on avance Oct 30, 2017
statLauxKurso.php version android... on avance Oct 30, 2017
statLauxLando.php
statLauxMonato.html
statLauxMonato.php version android... on avance Oct 30, 2017
statistikoj.inc.php version android... on avance Oct 30, 2017
statistikoj.php nouvelle version materialize + correction date de naissance fix #841 #… May 30, 2019
stirpanelo-old.php
stirpanelo.php ajout de l'attribution automatique dans le protokolo May 31, 2019
stirpanelo2.php version android... on avance Oct 30, 2017
stop_rappel.php version android... on avance Oct 30, 2017
studantalisto.php
style.css
sxangxiNBlernantoj.php version android... on avance Oct 30, 2017
sxangxiNBlernantoj2.php
sxangxilingvon.php version android... on avance Oct 30, 2017
sxangxilingvon2.php version android... on avance Oct 30, 2017
sxangxinoton.php
sxangxinoton2.php version android... on avance Oct 30, 2017
sxangxipersoninformojn.php correction radion bouton qcm May 31, 2019
sxangxipersoninformojn2.php
test_forum.php version android... on avance Oct 30, 2017
touch-icon-120.png version android... on avance Oct 30, 2017
touch-icon-152.png
touch-icon-167.png version android... on avance Oct 30, 2017
touch-icon-180.png version android... on avance Oct 30, 2017
touch-icon-60.png version android... on avance Oct 30, 2017
touch-icon-76.png
travaux.html version android... on avance Oct 30, 2017
travaux.php
unikodo.php version android... on avance Oct 30, 2017
util.php Fix #895 Jun 23, 2019
vidiLecionon.php
webui.inc.php Fix #881 Jun 26, 2019
xAlUtf8.js version android... on avance Oct 30, 2017
xml-fr.php version android... on avance Oct 30, 2017

README.md

ikurso

kurso de esperanto

Logiciel web contenant le cours et les outils d'administration du site https://ikurso.esperanto-france.org Le cours initial est dans domaine public et les modifications qui y ont été apporté sont sous licence libre.

Comment nous aider ?

Nous avons besoin d'aide pour un certain nombre d'amélioration que nous avons en tête (voir la liste des issues pour le détail). Nous avons taggué comme "facile" celle qui sont plus abordable à des débutants dans le projet.

Pour installer en local une version du site utilisable, il vous suffit d'installer un serveur apache+php+mysql (Wamp fonctionne bien sous windows). Puis télécharger le cours, il vous suffit de le cloner avec la commande :

git clone git@github.com:axel584/ikurso.git

De créer une base MySQL et un utilisateur et d'attribuer à l'utilisateur les droits qui vont bien à la base (phpMyAdmin permet de faire tout ceci assez simplement)

D'inserer en base le fichier qui se trouve dans sql/create-database.sql Et insérer également les données qui permettent de faire fonctionner le site (les cours, le vocabulaire, la liste des leçons etc.) en exécutant le script sql/create-data.sql

Et insérer le script sql/create-data-test.sql pour insérer un compte (on peut aussi s'inspirer du contenu de ce fichier pour choisir l'identifiant/mot de passe/adresse email de l'administrateur et/ou des premières correcteurs

De créer à la racine un fichier config.php contenant les informations suivante :

<?php
$base = "ikurso";
$login = "identifiant";
$motDePasse = "monmotdepasse";
$urlracine = "http://127.0.0.1/ikurso/"; // ça peut être l'adresse ip publique si on veut que le site soit accessible de l'extérieur
$cheminAbsolu = "/ikurso/";
$hostSmtp = "smtp.free.fr";
$portSmtp = 587;
$hostSmtpSES = "email-smtp.eu-west-1.amazonaws.com";
$portSmtpSES = 587;
$userSES = "USER_SES"; // pour l'envoi des mails via amazon
$passwordSES = "mot de passe Amazon SES";
?>

De créer dans le répertoire js un fichier config.js contenant les informations suivantes :

$urlracine = "http://localhost/ikurso/"; // ou bien "http://ikurso.esperanto-france.org" pour la prod
$cheminAbsolu = "/ikurso/"; // peut aussi avoir comme valeur "/" si le site est accessible à la racine du domaine

et de se connecter à l'adresse http://localhost/ikurso

Organisation du code

Voici une description des répertoires les plus importants :

  • /ajax : contient les scripts qui sont appelés par des appels ajax
  • /bildoj : contient les images du sites
  • /cron : contient les scripts qui sont appelés toutes les nuits (principalement pour les rappels automatique).
  • /db : couche "DAO"
  • /fr : contiennt les cours. Les répertoires les plus importants sont les sous-répertoires /fr/cge et /fr/gerda. Ils ont été historiquement mis dans un sous répertoire /fr dans le but de faire une version par langue, mais ça n'a jamais pris.
  • /ikurso : contient la version "android" du site (pour Cordova)
  • /js : contient les scripts javascript (souvent utilisés avec les fichiers php du répertoire /ajax
  • /mails : il s'agit des "template" des messages qui sont envoyés automatiquement. On utilise des variables ##VARIABLE## qui sont ensuite remplacé par le code qui envoit les mails. A noter que certains mails se terminent par FR pour indiquer qu'ils sont envoyés à des francophones. Les autres langues ne sont plus utilisés.
  • /python : script python pour faire quelques analyses statistiques sur la base (nécessaire un fichier de configuration similaire au config.php mais en python)
  • /soundmanager2 : bibliothèque externe pour jouer des mp3
  • /sql : code sql pour alimenter la base (create.sql) et pour suivre les nouvelles versions (changelog.sql)

Organisation de la base

Voici une descriptions des tables les plus importantes :

  • ekzerceroj : question d'un exercice
  • ekzercoj : exercice à rédiger. Un exercice contient plusieurs questions "ekzerceroj"
  • komentoj : commentaire qu'un correcteur peut laisser sur son élève
  • korektebla_kurso : nombre d'élèves qu'un correcteur accepte de prendre pour un cours donné
  • kursoj : liste des cours (actuellement 4)
  • landoj : liste des pays (n'est pas exhaustif afin d'éviter une liste trop longue car nous n'avons que des élèves francophones)
  • lecioneroj : section d'une leçon
  • lecionoj : leçon. Une leçon contient plusieurs sections "lecioneroj"
  • nuna_kurso : cours actuellement suivi par un élève avec la dernière leçon envoyée et le correcteur qui lui est attribué
  • personoj : table des élèves/correcteurs/administrateurs
  • personoj_lecioneroj : table des jointures élèves/section
  • personoj_lecionoj : table des jointures élèves/leçons
  • personoj_vortoj : table des jointures élèves/mots (pour l'apprentissage des mots). Contient le nombre de fois où le mot a été correctement répondu et la date à laquelle le mot devra être ré-appris
  • personoj_vortoj_respondoj : table de l'historique des réponses donnés à l'apprentissage des mots.
  • protokolo : table "log"
  • qcm / qcm_demando / qcm_propono : tables pour faire des QCM, n'est utilisé que pour l'application android
  • rajtoj : liste des droits (élève/correcteur/administrateur)
  • respondoj : réponses des élèves pour un "ekzerceroj" donné.
  • takso_leciono : évaluation d'une leçon par l'élève (note et champ libre)
  • vortoj : liste des mots (pour outil de révision des mots)

Les tables contenant les données propres à l'application (liste des leçons/exercices etc.) n'ont pas d'autoincrémente sur leur clef primaire, en revanche, les tables contenant les données générés à l'utilisation (compte utilisateur, table de jointures etc.) ont un champ id qui est indiqué en auto_increment.

En cas de problème, n'hésitez pas à me contacter : axel584@gmail.com

You can’t perform that action at this time.