WebNeL est une application web développée en Python/Django dont le but est, dans le futur, de remplacer intégralement l'héritage PHP de Ryzom Core. Cette application utilise Django 2 et Python 3.
2017-10-06 21:29:53 @YannK Donc on peut créer un dépôt WebNeL et y développer le site Django
2017-10-06 21:30:17 @YannK On fera un commit de type rm -Rf * à un moment sur le web hérité de RCD en php à ce moment :)
2017-10-06 21:30:21 TychoBrahe pourquoi garder NeL dans le nom ? :o
2017-10-06 21:30:40 * YannK aime bien le nom NeL, car cela fait référence au moteur de jeu
Le code source de WebNeL est disponible sur le dépôt GitLab. Ce développement s'effectue en quatre grandes étapes.
Modélisation de la base de données Cette étape consiste à créer les modèles Django de manière à ce que ces derniers utilisent directement la base de données déjà présente. (20% ) Priority: 1
Chaque base de données utilise une app Django séparé. Pour créer une app à partir de la base de donnée, il faut :
python manage.py startapp nom_de_la_db
.python manage.py inspectdb --database nom_de_la_db >nom_de_la_db/models.py
.blank=True
et, si nécessaire, null=True
.ON DELETE
de chaque relation.
Création des applications Lors de cette étape, les modèles précédemment créés sont utilisés pour véritablement créer l'application web. Les fonctionnalités doivent êtres exactement les mêmes que celles de l'application PHP. Les composants utilisant ces applications seront clairement identifiés dans les commentaires de chaque vues. (0% ) Priority: 2
La mise en production WebNeL est alors mis en production simultanément avec l'application PHP. Les URL sont progressivement mises à jour de manière à ce qu'à terme seul WebNeL soit utilisé. Une veille des journaux d'erreurs et d'accès est faite de manière à détecter tout problème. (0% ) Priority: 3
Restructuration, nettoyage L'application PHP est enlevée de la production et supprimée du dépôt. WebNeL est modifié de manière à activer les migrations Django et à ce que ce dernier prenne la main sur la base de données au lieux de simplement l'utiliser. Les modèles peuvent alors être modifiés de manière à assainir la base et ajouter de nouvelles fonctionnalités. (0% ) Priority: 4
Glorf | nel.users → pour la connexion en jeu
Glorf | ams_users → pour la connexion à l'AMS, les comptes ne sont pas nécessairemment les mêmes (par ex un joueur lambda n'a en théorie pas le droit de se co à l'administration des différents comptes)
Glorf | neltool → c'est le très très très vén,érable outil en PHP pour gérer les shard sans se co au serveur
Glorf | localiser un user, voir l'état des différents services, etc
Shepeng | d'après deed la base kring est utile
Shepeng | créée pourle ring, mais unepartie des fonctionnalitées ayant été intégrées dans le serveur de base, elle est devenue nécessaire si j'ai bien compris
MySQL a la mauvaise idée d'utiliser la valeur 0000-00-00 par défaut lorsqu’une date n'est pas renseignée. Ceci pose des problèmes avec Python/Django. Ce problème est à étudier afin d'en tirer la meilleur solution possible.