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 13:13] – Mise en capitale du L terminal de WebNeL Tycho Brahefr:webnel [2021/12/03 18:19] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
  
 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 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 44: Ligne 58:
 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.1508677981.txt.gz · Dernière modification : (modification externe)

Licences Mentions légales Accueil du site Contact Inclusion