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ées sont sous licence libre.
Nous avons besoin d'aide pour un certain nombre d'améliorations que nous avons en tête (voir la liste des issues pour le détail). Nous avons taggué comme "facile" celles qui sont plus abordables à 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'insérer 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";
$milestone = 1;
?>
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
Voici une description des répertoires les plus importants :
Voici une description des tables les plus importantes :
Les tables contenant les données propres à l'application (liste des leçons/exercices etc.) n'ont pas d'autoincrément sur leur clef primaire, en revanche, les tables contenant les données générées à l'utilisation (compte utilisateur, table de jointures etc.) ont un champ id qui est indiqué en auto_increment.
Création d'un utilisateur ikurso et de la base de données ikurso_database :
CREATE USER 'ikurso'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE ikurso_database;
GRANT ALL ON ikurso_database.* TO 'ikurso'@'localhost';
FLUSH PRIVILEGES;
exit
Insertion dans la base de données:
mariadb -u ikurso -p ikurso_database < sql/create-database.sql
mariadb -u ikurso -p ikurso_database < sql/create-data.sql
mariadb -u ikurso -p ikurso_database < sql/create-data-test.sql
ln -s /chemin/absolu/vers/ikurso /var/www/
chown $USER:www-data /var/www/ikurso
cat > /etc/apache2/sites-available/ikurso.conf <<EOF
<VirtualHost *:80>
ServerName ikurso.localhost
DocumentRoot "/var/www/ikurso"
<Directory "/var/www/ikurso">
Options +FollowSymLinks +Indexes
AllowOverride all
Require all granted
</Directory>
ErrorLog /var/log/apache2/error.ikurso.log
CustomLog /var/log/apache2/access.ikurso.log combined
</VirtualHost>
EOF
a2ensite ikurso
systemctl reload apache2
À la racine, créer :
config.php:
<?php
$base = "ikurso_database";
$login = "ikurso";
$motDePasse = "password";
$urlracine = "http://ikurso.127.0.0.1";
$cheminAbsolu = "/ikurso/";
$hostSmtp = "smtp.free.fr";
$portSmtp = 587;
$hostSmtpSES = "email-smtp.eu-west-1.amazonaws.com";
$portSmtpSES = 587;
$userSES = "USER_SES";
$passwordSES = "mot de passe Amazon SES";
$milestone = 1;
?>
config.js:
$urlracine = "http://ikurso.localhost";
$cheminAbsolu = "/ikurso/";
Installer php composer : https://getcomposer.org/download/ Installer phpMailer : composer update
En cas de problème, n'hésitez pas à me contacter : axel584@gmail.com