Wikiotics est un site Web pour apprendre une langue étrangère.
Le projet Wikiotics a été fondé en 2008 dans le but de créer un wiki licencié librement où les gens pouvaient collaborer sur du matériel pour les apprenants en langue. Dans le cadre de cela, nous avons construit un moteur wiki appelé Ductus, qui a fourni un cadre pour créer des pages wiki interactives à partir de contenu structuré, modifiable du navigateur Web. En 2011, Wikiotics a uni ses forces avec le projet Wikibabel, un projet avec une vision similaire et dont le développeur a continué à contribuer de manière significative au wikiotics. Quelques années plus tard, nous avons perdu tout intérêt à maintenir le canal et nous sommes occupés par d'autres activités.
En juillet 2020, Wikiotics a été transféré vers un site statique. Bien qu'il s'agisse d'un wiki, Wikiotics.org a reçu des contributions de 62 utilisateurs connectés, ainsi que des utilisateurs anonymes identifiés uniquement par leur adresse IP. Il y avait un total de 4064 de ces contributions, chacune ayant un engagement correspondant dans ce référentiel (demande de traction # 4). Ce référentiel est conçu pour servir d'archive de travail du travail de la communauté. Le développement de nouveaux contenus est également possible, avec suffisamment d'intérêt.
Le contenu est un peu un gâchis, comme on pouvait s'y attendre d'un référentiel qui a été modifiable par quiconque dans le monde, sans modération. En plus de cela, la seule véritable façon de voir une ébauche de travail d'une leçon était de la sauver au wiki.
Le premier pas en avant consiste à nettoyer le contenu. Les leçons et les pages qui ne sont pas utiles doivent être supprimées. (Ils resteront dans l'histoire du GIT si nous voulons les référencer.) Toute leçon en cours qui n'est pas encore utile peut être marquée par draft = true
et donc caché à la construction du site Web principal. Lorsque plusieurs copies du même contenu sont consolidées, un alias doit être laissé à tous les anciens emplacements, car nous avons longtemps suivi le principe que les uris cool ne changent pas.
Quiconque a contribué au Wiki et a un compte sur GitHub peut réclamer ses contributions en soumettant une demande de traction qui ajoute une entrée appropriée au fichier .mailmap
dans ce référentiel. Cette entrée devrait cartographier [email protected]
à une adresse e-mail associée au compte GitHub de la personne (ou, alternativement, l'adresse [email protected]
).
La réclamation des contributions de cette manière signifiera que le profil de l'utilisateur est lié dans l'historique GitHub de toute page à laquelle la personne a contribué (exemple ici). Malheureusement, pour le moment, il semble que le graphique des contributions ne considère pas le fichier .mailmap
. Ceci est incompatible avec un rapport sur le débordement de la pile, mais il est probablement lié à cette discussion sur l'instance de discours de Github. Fait intéressant, l'application Fasthub-Libre affiche correctement le graphique des contributions, dans son intégralité.
Wikiotics est maintenant un site statique construit avec Hugo. Les étapes suivantes permettent de la modifier localement:
Installez Hugo.
Sur Ubuntu, c'est aussi simple que
$ sudo snap install hugo --channel=extended
À l'heure actuelle, la version "étendue" n'est pas nécessaire, mais nous pouvons expérimenter ses fonctionnalités à l'avenir.
Cloner ce référentiel:
$ git clone https://github.com/wikiotics/wikiotics.org.git
Démarrez le serveur de développement Hugo et pointez un navigateur Web vers l'URL fournie:
$ cd wikiotics.org
$ hugo server
[...]
Web Server is available at http://localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop
Le contenu est dans le content/
répertoire. Lors de l'enregistrement de n'importe quel fichier de contenu, le navigateur Web doit actualiser automatiquement avec le contenu mis à jour.
Chaque leçon est entièrement représentée par Toml Front Matter, qui est contenue entre les lignes qui disent +++
. Lors de la modification d'une leçon, une astuce consiste à définir temporairement grid = true
dans sa matière avant, qui affichera les éléments de la leçon comme une feuille de calcul. Cela peut être utile pour obtenir une vision globale de la leçon. Les leçons pour lesquelles draft = true
sera également affichée sous forme de grille (c'est-à-dire si les brouillons sont activés).
Chaque leçon peut être annotée avec la langue qu'il enseigne et, le cas échéant, la langue qu'il suppose que l'apprenant connaît en définissant target-languages
et / ou source-languages
dans la matière de la leçon, en suivant les définitions standard de ces termes. Dans les coulisses, ces annotations sont des cas de taxonomies Hugo.
Le schéma de dénomination des wiki (pour les URL / routes) est en discussion dans le n ° 12. Nous prévoyons également de documenter (# 9) et d'améliorer (# 10) les structures de données Toml pour les leçons.
La priorité la plus élevée en ce moment est d'améliorer la présentation des archives du site.
L'ajout de nouveaux supports de leçon impliquerait actuellement des changements de coordination avec le référentiel de médias Wikiotics. Il existe deux alternatives à l'étude: le stockage de fichiers GIT Large et les IPF (détails dans # 15).
Tout le contenu (c'est-à-dire, tout dans le content/
répertoire, récursivement) est concédé sous licence Creative Commons Attribution-Sharealike 3.0. Certains des supports de leçon (référencés mais non inclus dans ce référentiel) sont disponibles sous une licence Creative Commons différente (mais gratuite). Tout le reste (par exemple, tout le code) est disponible sous la version 3 de la licence publique générale GNU ou toute version ultérieure. Certaines des bibliothèques en {assets,static}/ductus/
sont disponibles sous des licences plus permissives.
Nous aimons garder les choses simples, après les années d'avoir une pile technologique assez compliquée. (Même avant, nous avons réussi à éviter bon nombre des excès du développement du frontend moderne.) Garder les choses simples aide à maximiser le facteur de bus et à minimiser le temps passé à maintenir le site. Il ne devrait pas y avoir de pièces mobiles, et idéalement pas de serveur à maintenir.
Nous s'appuyons sur les technologies suivantes pour aider à atteindre nos objectifs: