config | ||
controllers | ||
datas | ||
front | ||
lang/fr | ||
middleware | ||
models | ||
routes | ||
tools | ||
views | ||
.gitignore | ||
.sequelizerc | ||
app.js | ||
example.env | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
robots.txt | ||
server.js |
Projet WikiLerni
Introduction
Vous trouverez sur ce dépôt le code source du projet WikiLerni, précédemment accessible sur cette page : www.wikilerni.com Ce projet visait à proposer des résumés d’articles de Wikipédia, suivis de quizs permettant aux lecteurs de tester ce qu’ils avaient retenu de leur lecture. Il est à présent abandonné, faute d’intérêt du public et de temps à y consacrer.
Le backend avait été développé avec Node.js v14/Express. Le frontend en « Vanilla.js » + Babel.js pour gérer les anciens navigateurs. La partie front était constituée de fichiers statiques et donc « stand alone », les sauvegardes de résultats aux quizs se faisant dans le navigateur et/ou dans des fichiers JSON téléchargeables. Le graphisme ayant été créé par Denis Salem (copyleft) : https://www.denissalem.tuxfamily.org
Le code est fourni tel quel, sachant qu’il est largement perfectible (c’était mon premier projet node.js) et qu’il s’agissait d’un développement spécifique pas forcément réutilisable en entier par ailleurs.
Les quizs et articles du site WikiLerni sont aussi libres (CC BY-SA 3.0). Un dump de la base de données + des fichiers JSON sont trouvables dans le dossier /data
Installation
Il n’y a pas de script d’installation et si l’idée vous prend de relancer ce projet, je vous conseille fortement de repartir sur une nouvelle base, en récupérant éventuellement le contenu, le graphisme, etc.
Mais si vous souhaitez tenter une installation sur votre machine (je ne promets rien !), voici la procédure à suivre :
- adapter le fichier example.env et renommez-le : .env
- adapter le fichier config/instance-example.js et renommez-le : instance.js
- créer une base de données vierge à l’aide du fichier models/wikilerni-crea.sql (doit fonctionner avec MySQL et MariaDB).
- installer les dépendances avec « npm install »
- lancer le serveur node + un serveur front pointant le répertoire /front/public/
- créer un premier compte utilisateur avec /front/public/inscription.html et changer son statut directement dans la base de données pour « admin » ou « manager » pour lui permettre de publier des quizs, gérer les comptes utilisateurs, etc.
- l’enregistrement du premier article créera la page d’accueil du site "/front/public/index.html" (entre autres).