Logo Khaganat

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:webnel [2017/10/22 15:06] – Présentation et panification du développement. Tycho Brahefr:webnel [2021/12/03 19:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== WebNel ======+====== WebNeL ======
  
-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. +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.
- +
-<WRAP center round important>Django 2 est actuellement en cours de développement et seule une version alpha est disponible. Cependant, Django 2 devrait être stable d'ici la mise en production de WebNel, il est donc logique de commencer à développer directement pour cette version plutôt que pour la version 1.</WRAP>+
  
 <WRAP center round info> <WRAP center round info>
Ligne 14: Ligne 12:
 ===== Développement ===== ===== Développement =====
  
-Le code source de WebNel est disponible sur le [[gitlab>Tycho/WebNeL|dépôt GitLab]]. Ce développement s'effectue en quatre grandes étapes.+Le code source de WebNeL est disponible sur le [[gitlab>Tycho/WebNeL|dépôt GitLab]]. Ce développement s'effectue en quatre grandes étapes.
  
  
Ligne 20: Ligne 18:
 TITLE: Modélisation de la base de données TITLE: Modélisation de la base de données
 PRIORITY: 1 PRIORITY: 1
-PROGRESS: 0%+PROGRESS: 20%
 DESCRIPTION: 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. DESCRIPTION: 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.
 </task> </task>
 +
 +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 :
 +
 +  - Créer l'app : ''<nowiki>python manage.py startapp nom_de_la_db</nowiki>''.
 +  - Générer le modèle de base : ''<nowiki>python manage.py inspectdb --database nom_de_la_db >nom_de_la_db/models.py</nowiki>''.
 +  - Nettoyer le modèle précédemment généré :
 +    - Vérifier la présence d'une clé primaire pour chaque modèle et que cette dernière soit cohérente.
 +    - Vérifier que les champs vides ou nuls disposent bien de ''<nowiki>blank=True</nowiki>'' et, si nécessaire, ''<nowiki>null=True</nowiki>''.
 +    - Spécifier des valeurs par défaut lorsque nécessaire.
 +    - Modifier les noms de champs de manière à avoir quelque chose de propre et cohérent.
 +    - Identifier les clé étrangères et autres relations puis modifier les champs en conséquence.
 +    - Vérifier la clause ''ON DELETE'' de chaque relation.
 +    - Identifier et intégrer les choix multiples.
 +    - Corriger les fautes d'orthographe de grammaire.
 +    - Ordonner les modèles.
 +    - Remplacer les commentaires par défaut par de vrais commentaires.
  
 <task> <task>
Ligne 35: Ligne 49:
 PRIORITY: 3 PRIORITY: 3
 PROGRESS: 0% PROGRESS: 0%
-DESCRIPTION: 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.+DESCRIPTION: 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.
 </task> </task>
  
Ligne 42: Ligne 56:
 PRIORITY: 4 PRIORITY: 4
 PROGRESS: 0% PROGRESS: 0%
-DESCRIPTION: 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.+DESCRIPTION: 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.
 </task> </task>
 +
 +===== Documentation =====
 +
 +
 +  * [[fr:nel_mysql|La base de donnée du serveur de jeu]] ;
 +
 +> 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
 +
 +
 +===== Dates par défaut =====
 +
 +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.
 +
 +  * https://code.djangoproject.com/ticket/443
 +  * https://code.djangoproject.com/ticket/2763
 +  * https://code.djangoproject.com/ticket/2369
 +  * https://code.djangoproject.com/ticket/2763
 +  * https://docs.python.org/3/library/datetime.html
  
  
 {{tag>Serveur Web}} {{tag>Serveur Web}}
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
fr/webnel.1508677578.txt.gz · Dernière modification : 2021/12/03 19:18 (modification externe)

Licences Mentions légales Accueil du site Contact