Oui, c'est fait, premier vrai fork fonctionnel. Je vous propose un petit retour d'expérience comme je l'avais promis à Kje.
Le projet : DansTonCube.fr
Présentation
Je suis actuellement le développeur d'un site web d'une équipe de joueurs de Minecraft spécialisée dans l'architecture (la NewHeaven). Très souvent en contact avec le responsable de la communication, il m'a parlé d'un projet qui lui trottait dans la tête depuis un moment : un site francophone dédié à l'architecture sur Minecraft. C'est là que DansTonCube (DTC) est né.
Le site est encore en bêta, par manque de temps je n'ai pas pu encore tout faire proprement.
Pourquoi ZdS ?
Les fonctionnalités nécessaires étaient les suivantes :
- Un système de news où tout le monde peut suggérer un article (et donc de la validation et du travail "collaboratif");
- Un système de forums ;
- Un système de connexions avec un espace membres.
Les fonctionnalités intéressantes qu'ils seraient bien d'avoir :
- Un système de tutoriels avec vidéos si possible ;
- Un système de téléchargements de fichiers avec validation (des maps Minecraft) ;
- Un espace pour chaque équipe.
Bref, ZdS c'est imposé pour les 4 premiers points, les deux autres étant à développer mais non essentiels.
Retour d'expérience
Les gros problèmes
Le plus gros problème fut au niveau du front (n'y voyez pas une attaque, je vais me justifier). Voici ce qui m'a vraiment gêné par ordre de plus au moins critique:
- Le SCSS est très mal variablilisé. Les couleurs c'est presque tout en dur dans le code. J'y suis allé à grands coups de
sed
mais ce fut très douloureux et j'ai perdu quelques cheveux au passage. - La doc d'installation est mal documentée, voire fausse (l'installation de NPM/node sur Debian par exemple) ou absente sur certains points (Sorl, Nginx). J'ai la chance d'avoir accès aux serveurs de ZdS ce qui m'a vraiment aidé pour la config, je ne sais pas comment j'aurai fait autrement.
- On a un problème de documentation sur la création d'un projet. J'ai du regarder sur la preprod au niveau des groupes, des catégories, etc. Il faut mieux expliquer comment les choses fonctionnent au départ (quelles fixtures charger, comment sont géré l'ordre des catégories et comment les créer, etc.
- L'organisation des fichiers SCSS qui n'est vraiment pas naturelle (merci
grep
). - Le front n'est pas documenté. On l'a déjà dit de nombreuses fois mais c'est quand on a besoin de toucher à la page d'accueil qu'on se rend compte qu'il manque des trucs. Assez pénible quand on a l'habitude de travailler avec Zurb Foundation et Bootstrap qui sont très bien documentés.
- Le script de déploiement n'a pas fonctionné chez moi et n'est pas commenté. J'ai fais ça très salement.
Les autres problèmes
J'ai trouvé une dizaine d'autre bugs dont la majorité est reportée sur GitHub mais on peut également noter que :
- Le Markdown n'est pas directement documenté sur le site ;
- Le fichier topbar.py` est d'une violence, faut vraiment le revoir. De plus l'organisation des catégories des tutoriels est merdique et ne semble pas fonctionner (c'est connu de mémoire) ;
- https://github.com/DansTonCubeFr/danstoncube.fr/issues/7 .
Autres remarques
- Ça tourne très bien sur PostgreSQL (cc @SpaceFox) ;
- pandoc c'est chiant et *très long à installer (75 minutes sur un VPS OVH) ;
- Ça tourne très bien. Le premier jour, avec ~40 personnes sur le site, j'avais que 700Mio de RAM utilisée. C'est cool.
Pour résumer : il faut revoir pas mal de trucs sur le front et la doc d'installation.
Objectifs futurs
Refaire le design
Actuellement j'ai changé les couleurs, les logos et la page d'accueil. C'est moche mais je ne suis pas dev front. On espère avoir quelqu'un qui nous referai ça (si vous êtes intéressé, MP moi, ça serait rémunéré).
Ajout de modules
Le plus gros travail ça va être l'ajout de modules (partie téléchargement et partie équipes). Je devrai faire quelques PR pour faciliter ça mais ça, c'est pas pour tout de suite !
Voilà, j'espère que ce petit retour va permettre de faciliter d'autres forks !
J'ai tapé ça au km, j'espère qu'il n'y a pas trop de fautes mais notime aujourd'hui !
EDIT (11/01/15 à 18h47):
J'ai oublié ceci :
- L’organisation des groupes n'est pas documentée (gestion des droits de validation et de modération) ;
- Il serait cool d'avoir un groupe relecteurs qui ne puisse pas publie un contenu non publié mais qui à le droit de faire des modification sur ce qui est publié/en validation non réservé et de faire une demande de mise à jour.