Project Development

Version 35 (Etienne Pallier, 03/25/2016 04:28 pm)

1 1 Etienne Pallier
h1. Project Development
2 2 Etienne Pallier
3 17 Etienne Pallier
Project Installation page : [[Project Installation]]
4 2 Etienne Pallier
5 2 Etienne Pallier
HOWTO Format Redmine Wiki : http://www.redmine.org/projects/redmine/wiki/FrRedmineWikiFormatting
6 2 Etienne Pallier
7 2 Etienne Pallier
{{>toc}}
8 2 Etienne Pallier
9 2 Etienne Pallier
---
10 3 Etienne Pallier
11 3 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}TODO%
12 3 Etienne Pallier
13 34 Etienne Pallier
 * Impossible d'ajouter un pays dans Country depuis admin (erreur sur pyrosuser.name)
14 34 Etienne Pallier
15 34 Etienne Pallier
 * Impossible d'ajouter un telescope (erreur sur device.name)
16 33 Etienne Pallier
17 32 Etienne Pallier
 * Fix plurals in admin interface (http://localhost:8000/admin):
18 32 Etienne Pallier
19 32 Etienne Pallier
  * Country : plural "countries" and not "countrys"
20 32 Etienne Pallier
  * NrtAnalysiss
21 32 Etienne Pallier
  * Historys
22 32 Etienne Pallier
  * ...
23 31 Etienne Pallier
24 28 Etienne Pallier
 * Preload some data for some tables:
25 28 Etienne Pallier
  
26 30 Etienne Pallier
  * country => France, Mexico, ...
27 30 Etienne Pallier
  * sequencetype => 0=routine, 1=alert, ...
28 30 Etienne Pallier
  * userlevel => 0=normal, 1=expert, 2=admin, ...
29 28 Etienne Pallier
  * ...
30 28 Etienne Pallier
31 27 Etienne Pallier
 * updated et created : champs automatiques Django
32 27 Etienne Pallier
33 29 Etienne Pallier
 * readonly admin interface : https://gist.github.com/aaugustin/1388243
34 29 Etienne Pallier
35 35 Etienne Pallier
 * Ecrire quelques premiers petits tests
36 35 Etienne Pallier
37 18 Etienne Pallier
 * Tester install eclipse from scratch (vérifier qu'on n'a plus besoin de faire "set as pydev" et "set as django" et set DJANGO_MANAGE_LOCATION et set DJANGO_SETTINGS_MODULE)
38 3 Etienne Pallier
39 3 Etienne Pallier
 * Séparation des BD Django et Pyros
40 3 Etienne Pallier
41 3 Etienne Pallier
 * Intégration des modules Django déjà développés
42 3 Etienne Pallier
43 3 Etienne Pallier
 * Intégration continue avec Jenkins (+ run des tests sur une VM Windows)
44 3 Etienne Pallier
45 3 Etienne Pallier
 * Planifier la suite...
46 3 Etienne Pallier
47 3 Etienne Pallier
 * Doc pour le meeting de mai
48 3 Etienne Pallier
49 24 Etienne Pallier
 * pyrossu : pyrossu!
50 24 Etienne Pallier
51 3 Etienne Pallier
---
52 4 Etienne Pallier
53 4 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}LIENS UTILES%
54 4 Etienne Pallier
55 4 Etienne Pallier
 * Liens vers web local :
56 4 Etienne Pallier
57 4 Etienne Pallier
  * homepage: http://localhost:8000
58 4 Etienne Pallier
  * admin: http://localhost:8000/admin
59 4 Etienne Pallier
60 25 Etienne Pallier
 * Eclipse:
61 25 Etienne Pallier
 
62 26 Etienne Pallier
  * Shift-Ctrl-f (ou Shift-Cmd-f) : reformatage du fichier selon PEP8
63 26 Etienne Pallier
  * Shift-Ctrl-1 : make doc string ...
64 25 Etienne Pallier
65 4 Etienne Pallier
 * Django:
66 4 Etienne Pallier
67 4 Etienne Pallier
  * Coding style: https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/
68 4 Etienne Pallier
69 4 Etienne Pallier
 * Git docs: 
70 4 Etienne Pallier
71 19 Etienne Pallier
  * Permissions gitlab: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/permissions/permissions.md
72 4 Etienne Pallier
  * https://git-scm.com/docs
73 4 Etienne Pallier
  * https://git-scm.com/book/fr/v1/Les-bases-de-Git-Travailler-avec-des-d%C3%A9p%C3%B4ts-distants
74 4 Etienne Pallier
  * les workflows: https://aresu.dsi.cnrs.fr/spip.php?article219
75 4 Etienne Pallier
  * Git for Eclipse users : http://wiki.eclipse.org/EGit/Git_For_Eclipse_Users
76 15 Etienne Pallier
  * Git sur sourcesup (avec jenkins) : https://services.renater.fr/sourcesup/formation/chap04#gestion_d_un_projet_avec_git_jenkins_sonar_et_nexus
77 4 Etienne Pallier
78 4 Etienne Pallier
 * CADOR web interface: http://cador.obs-hp.fr/ros/manual/cador_actions.html
79 4 Etienne Pallier
80 4 Etienne Pallier
 * pylint (analyse de code) : https://www.pylint.org
81 4 Etienne Pallier
82 4 Etienne Pallier
 * pyreverse (uml diagrams generation, inclus dans pylint) : https://www.logilab.org/blogentry/6883
83 4 Etienne Pallier
84 4 Etienne Pallier
 * tox (a generic virtualenv management and test command line tool) : https://testrun.org/tox/latest/index.html
85 4 Etienne Pallier
86 4 Etienne Pallier
---
87 5 Etienne Pallier
88 5 Etienne Pallier
89 5 Etienne Pallier
---
90 5 Etienne Pallier
91 5 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}I - DATABASE SCHEMA (v0.2.1)%
92 5 Etienne Pallier
93 5 Etienne Pallier
94 5 Etienne Pallier
{{thumbnail(PYROS_PDM_v021.png, size=300, title=Pyros data model)}}
95 6 Etienne Pallier
96 7 Etienne Pallier
---
97 6 Etienne Pallier
98 7 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}II - Get the project (from gitlab)%
99 6 Etienne Pallier
100 20 Etienne Pallier
h3. Gitlab management interface
101 20 Etienne Pallier
102 20 Etienne Pallier
https://gitlab.irap.omp.eu/epallier/pyros
103 20 Etienne Pallier
104 20 Etienne Pallier
https://gitlab.irap.omp.eu/epallier/pyros/team
105 20 Etienne Pallier
106 20 Etienne Pallier
h3. Get the project
107 6 Etienne Pallier
108 8 Etienne Pallier
https://projects.irap.omp.eu/projects/pyros/wiki/Project_Installation#II-Get-the-project-from-gitlab
109 8 Etienne Pallier
110 7 Etienne Pallier
---
111 7 Etienne Pallier
112 11 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}III - INSTALLATION%
113 11 Etienne Pallier
114 11 Etienne Pallier
https://projects.irap.omp.eu/projects/pyros/wiki/Project_Installation#III-INSTALLATION
115 11 Etienne Pallier
116 11 Etienne Pallier
---
117 11 Etienne Pallier
118 6 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}IV - CONFIGURATION of the Django Back Office (administration interface)%
119 6 Etienne Pallier
120 6 Etienne Pallier
[[django_backoffice_config|Configuration of the Django Back office (admin)]]
121 6 Etienne Pallier
122 9 Etienne Pallier
---
123 9 Etienne Pallier
124 13 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}V - EVOLUTION OF THE MODEL%
125 12 Etienne Pallier
126 21 Paul Carensac
h3. Linking the User model to the django's one
127 21 Paul Carensac
128 21 Paul Carensac
* Modifications in models.py :
129 21 Paul Carensac
130 21 Paul Carensac
    * Rename User model to PyrosUser
131 21 Paul Carensac
    * Rename user table name to pyros_user
132 21 Paul Carensac
    * Change all occurences (User -> PyrosUser, users -> pyros_users, ...)
133 21 Paul Carensac
    * from django.contrib.auth.models import User <== add at the beginning of the file
134 23 Paul Carensac
    * user = models.OneToOneField(User, on_delete=models.CASCADE) <== add this field in PyrosUser declaration
135 23 Paul Carensac
    * delete fields in PyrosUser : name, firstname, email, login, pass
136 21 Paul Carensac
137 21 Paul Carensac
* Modifications in admin.py :
138 21 Paul Carensac
139 1 Etienne Pallier
    * Change all occurences (User* -> PyrosUser*, users -> pyros_users, ...)
140 23 Paul Carensac
141 23 Paul Carensac
<pre>
142 23 Paul Carensac
$ python manage.py makemigrations pyrosapp
143 23 Paul Carensac
$ python manage.py migrate
144 23 Paul Carensac
</pre>
145 12 Etienne Pallier
146 12 Etienne Pallier
---
147 12 Etienne Pallier
148 14 Etienne Pallier
h2. %{margin-left:0px; font-weight:bold; font-size:25px;  display:block; color:red;}VI - INSTALLATION FROM THE BEGINNING (for dev only, history of the initial project creation)%
149 6 Etienne Pallier
150 6 Etienne Pallier
151 6 Etienne Pallier
[[pyros_install_from_start|Pyros installation from the beginning]]