Blame view

README.md 8.69 KB
b2e9866d   Etienne Pallier   bugfix start_agen...
1
# PYROS (PYthon Robotic Observatory System)
0295ca78   Etienne Pallier   README update for...
2
A Python software for the management of a Telescope control center
e401257c   Etienne Pallier   README with miles...
3

f946c501   Etienne Pallier   updated readme
4
COPYRIGHT (C) 2012-2018 IRAP (Institut de Recherche en Astrophysique et Planetologie) Toulouse - France
6bbc662a   Etienne Pallier   ignore .project a...
5

b8064570   Etienne Pallier   better formatted ...
6
Authors : etienne.pallier@irap.omp.eu, alain.klotz@irap.omp.eu, patrick.maeght@irap.omp.eu, paul.carensac@epitech.eu, alexandru.burlacu11@gmail.com, jeremy.barneron@gmail.com, quentin.durand@epitech.eu
e401257c   Etienne Pallier   README with miles...
7

0295ca78   Etienne Pallier   README update for...
8
9
GPL License (http://www.gnu.org/copyleft/gpl.html) - See the file LICENSE.txt

b8064570   Etienne Pallier   better formatted ...
10
This software runs with Python 3 and Django 2
0295ca78   Etienne Pallier   README update for...
11

b8064570   Etienne Pallier   better formatted ...
12
13
To install it, go into the "install/" folder, and read the document INSTALLATION 
(better is to go to https://docs.google.com/document/d/1m7wUGMUPNPE2gdsQNLILDeF738oIk9OlQjVjNzQyWA8/edit#heading=h.aqi3gs3yp2s3)
0295ca78   Etienne Pallier   README update for...
14

18782713   Etienne Pallier   readme update
15
16
This file is written in the markdown format (see https://openclassrooms.com/en/courses/1304236-redigez-en-markdown, https://michelf.ca/projets/php-markdown/syntaxe, https://daringfireball.net/projects/markdown/syntax)

0295ca78   Etienne Pallier   README update for...
17
-----------------------------------------------------------------------------------------------------------
b8064570   Etienne Pallier   better formatted ...
18
19
## Tested platforms

0295ca78   Etienne Pallier   README update for...
20
21
22
23
24
This software has been tested and validated with the following configurations :

- Centos 7 (test server planetoweb2) :
	- Python: 3.5
	- Mysql:
f1a10cf4   Jeremy   Update readme
25
	- Apache:
0295ca78   Etienne Pallier   README update for...
26
27
28

- Ubuntu 14LTS (Paul Carensac's laptop) :
	- Python: 3.5
eea995c9   haribo   Date: 16/06/2016
29
	- Mysql: 5.5.46
f1a10cf4   Jeremy   Update readme
30
	- Apache:
0295ca78   Etienne Pallier   README update for...
31

257abe9b   Jeremy   Added comments
32
- Ubuntu 16.04 LTS (Jérémy Barneron's laptop) :
f1a10cf4   Jeremy   Update readme
33
34
35
36
37
38
	- Python: 3.5.2
	- Mysql: 5.7.15
	- Apache: 2.4.18
	- Django: 1.10.2

- Mac OS 10.11.4 (Etienne Pallier's laptop)
0295ca78   Etienne Pallier   README update for...
39
40
41
42
	- Python: 3.5
	- XAMPP for OS X 5.6.3, which comes with :
		- MySQL: 5.6.21
		- Apache 2.4.10
f1a10cf4   Jeremy   Update readme
43

e401257c   Etienne Pallier   README with miles...
44
--------------------------------------------------------------------------------------------
b8064570   Etienne Pallier   better formatted ...
45
## Project structure
6bbc662a   Etienne Pallier   ignore .project a...
46
47
48
49
50
51
52

    - src/ : conteneur du projet (le nom est sans importance)
    	- manage.py : utilitaire en ligne de commande permettant differentes actions sur le projet
    	- pyros/ : the actual Python package of the project
    		- settings.py : project settings and configuration
	    	- urls.py : déclaration des URLs du projet
    		- wsgi.py : point d'entrée pour déployer le projet avec WSGI
6bbc662a   Etienne Pallier   ignore .project a...
53
54

	- database/ : database configuration and documentation
f1a10cf4   Jeremy   Update readme
55

6bbc662a   Etienne Pallier   ignore .project a...
56
	- doc/ : project documentation
f1a10cf4   Jeremy   Update readme
57

6bbc662a   Etienne Pallier   ignore .project a...
58
	- install/ : project installation howto
f1a10cf4   Jeremy   Update readme
59

6bbc662a   Etienne Pallier   ignore .project a...
60
	- private/ : the content of this folder is private and thus not commited to git ; it should contain your Python3 virtual environment
ef4dd9e1   Jeremy   Update readme
61
62
	
	- simulators/ : the devices simulators
f1a10cf4   Jeremy   Update readme
63

6bbc662a   Etienne Pallier   ignore .project a...
64
65
	- public/ : this folder contains all public files like the web html files
		- static/
f1a10cf4   Jeremy   Update readme
66

0295ca78   Etienne Pallier   README update for...
67
--------------------------------------------------------------------------------------------
b8064570   Etienne Pallier   better formatted ...
68
69
## LAST VERSION

7d679ea0   Etienne Pallier   Commande EVAL ok
70
Date: 19/03/2019
0295ca78   Etienne Pallier   README update for...
71

f05b7a2d   Etienne Pallier   updated README (n...
72
Author: E. Pallier
b8064570   Etienne Pallier   better formatted ...
73

db13d8ac   Etienne Pallier   updates: go_idle ...
74
VERSION: 0.20.23
f4fd20f9   Etienne Pallier   pyros.py script i...
75

93b402b7   Etienne Pallier   Added management ...
76
Comment:
31e31f3b   Etienne Pallier   pyros.py peut lan...
77
78
79
80
81
	pyros.py peut lancer plusieurs agents (A et B) en même temps (+ flush_commands + test)

	- Mode opératoire :
		- pour lancer agentA seulement : ./pyros.py start agentA [-c configfile]
		- pour lancer plusieurs agents : ./pyros.py start agentA,agentB,... [-c configfile]
5a76fb80   Etienne Pallier   petit update
82
		(ou encore: activer l'environnement virtuel, puis lancer "cd src/agent/ ; ./AgentA.py configfile")
1c18151d   Etienne Pallier   Multi-agents : Ag...
83
		- pour utiliser thread ou processus : il suffit de mettre la constante RUN_IN_THREAD de AgentA (ou AgentB ou AgentX) à False ou True
31e31f3b   Etienne Pallier   pyros.py peut lan...
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
		
	- Scenario de test :
		- lancer agents A et B : ./pyros.py start agentA,agentB
		- attendre 1mn et attendre les 2 résultats suivants:
		(AgentA): Finished testing => result is ok
		(AgentB): Finished testing => result is ok
	
	- Autres remarques:
		- Nouvelle commande "flush_commands" pour purger les commmandes en attente
		- routine_process() implemented
		- Eval command implemented
		- Timeout géré : si commande pas exécutée en temps raisonnable => la même commande est ré-exéuctée à l'itération suivante
		- Chaque agent a son propre scenario de commandes à envoyer
		- GROSSE OPTIMISATION : plus besoin du script intermédiaire "start_agent.py" !!!
			==> pyros.py lance directement "cd src/agent/ ; python AgentX.py"
f4fd20f9   Etienne Pallier   pyros.py script i...
99
	
b8064570   Etienne Pallier   better formatted ...
100
--------------------------------------------------------------------------------------------
b2e9866d   Etienne Pallier   bugfix start_agen...
101
102
103
104
105
- TECHNICAL DOC: tinyurl.com/pyros-doc
- CURRENT STATUS (TODO LIST) : https://projects.irap.omp.eu/projects/pyros/issues?query_id=257
- CURRENT VERSION (v0.20): https://projects.irap.omp.eu/versions/208
- ROADMAP: https://projects.irap.omp.eu/projects/pyros/roadmap
- (OLD DEV PLAN: https://docs.google.com/spreadsheets/d/1Gy6c-9fhUDBx5Bc6YrcGvfgP-HukWdhUh8oT11_y88g/edit#gid=664458270) 
11ae0484   Etienne Pallier   New versionning p...
106
- (OLD, TO BE UPDATED) https://projects.irap.omp.eu/versions/158
bb45cd4a   haribo   Date: 25/05/2016
107

e401257c   Etienne Pallier   README with miles...
108
--------------------------------------------------------------------------------------------
b8064570   Etienne Pallier   better formatted ...
109
## MAIN CHANGES (MILESTONES):
e401257c   Etienne Pallier   README with miles...
110

0295ca78   Etienne Pallier   README update for...
111
Full list of commits: https://gitlab.irap.omp.eu/epallier/pyros/commits/master
e401257c   Etienne Pallier   README with miles...
112

f4fd20f9   Etienne Pallier   pyros.py script i...
113
114
The list below is obsolete. The new official changes history is here :  https://tinyurl.com/pyros-dev#heading=h.2r55bflctpt5

f05b7a2d   Etienne Pallier   updated README (n...
115
116
117
**17/01/19 : Version 20190117.0.000.0 (EP)**
- NO MORE CELERY (removed from everywhere)

b8064570   Etienne Pallier   better formatted ...
118
**10/10/18 : Version 2018.0.011 (E. Pallier)**
f49b7078   Etienne Pallier   Bugfix tests and ...
119
120
- NEW versionning plan : YYYYMMDD.M.mmm.b
    - YYYYMMDD = Day (UTC)
b8064570   Etienne Pallier   better formatted ...
121
122
123
    - M = Major version number
    - mmm = Minor version number
    - b = Bugfix number
d243a3ef   Etienne Pallier   Bugfix majordome_...
124
- Global Version number is now in src/__init__.py (idem for each pyros application) 
b8064570   Etienne Pallier   better formatted ...
125
126
127
128
129
130
- new devices_channel/ folder containing the new DeviceControllerAbstract and ClientChannelAbstract classes (independant from pyros for the moment, but will soon be integrated)
- new src/utils/celme (celestial mecanics) library from Alain Klotz (more and more used inside pyros)
- better README.md formatted file

**14/05/18 : Version 2018.0.001 (Q. Durand)**
- Update all dependencies, update to django 2 and work in progress on the dashboard
e573c1f1   Etienne Pallier   All unit tests no...
131

b8064570   Etienne Pallier   better formatted ...
132
133
**23/03/18	Version 0.16.11 (E. Pallier)**
- All unit tests now pass WITHOUT celery (./manage.py test or ./pyros.py test)
e573c1f1   Etienne Pallier   All unit tests no...
134

b8064570   Etienne Pallier   better formatted ...
135
136
**22/03/18	Version 0.16.10 (E. Pallier)**
- New global variable USE_CELERY (false by default) in pyros.settings
552f1515   Etienne Pallier   New global variab...
137

b8064570   Etienne Pallier   better formatted ...
138
139
140
**13/03/18	Version 0.16.7 (E. Pallier)**
- Each agent (envmonitor, majordome, alert) can be started independently with a script (new script start_agent in each agent directory)
- New command "pyros start" to start pyros in different ways (different options : everything or only some components)
b4e8963c   Etienne Pallier   Each agent (envmo...
141

b8064570   Etienne Pallier   better formatted ...
142
143
**22/02/18	Version 0.16.5 (E. Pallier)**
- Better isolation of Monitoring for easier testing (+ tuto)
c7583f6e   Etienne Pallier   Cleaner isolation...
144

b8064570   Etienne Pallier   better formatted ...
145
146
**01/02/18	Version 0.16.3 (Q. Durand)**
- New installation script src/install/install.py multiplatform (Lin-Mac-Win10, but also tested on Win7)
7f83556a   Etienne Pallier   updated README
147
			
b8064570   Etienne Pallier   better formatted ...
148
149
150
**24/02/17    Version 0.15.1 - Added comments (Jeremy Barneron)**
- Details added to describe the functions behavior
- https://projects.irap.omp.eu/versions/158
257abe9b   Jeremy   Added comments
151

b8064570   Etienne Pallier   better formatted ...
152
153
154
**18/01/17    Version 0.15 - Execution with simulators**
- Simulators evolution / majordome / monitoring / installer
- https://projects.irap.omp.eu/versions/158
ef4dd9e1   Jeremy   Update readme
155

b8064570   Etienne Pallier   better formatted ...
156
157
158
**15/12/16    Version 0.14.1 - Final version 0.14**
- Scenarist first versions
- https://projects.irap.omp.eu/versions/152
53787d30   Jeremy   Alert now inherit...
159

552f1515   Etienne Pallier   New global variab...
160
02/08/16	Version 0.12.4 - Final version 0.12
db882807   haribo   Date: 02/08/2016
161
162
163
			Simulators first versions
			https://projects.irap.omp.eu/versions/129

552f1515   Etienne Pallier   New global variab...
164
20/07/16	Version 0.11.4 - Final version 0.11
ac26ad2b   haribo   Date: 22/07/2016
165
166
167
			Alert manager second version
			https://projects.irap.omp.eu/versions/128

552f1515   Etienne Pallier   New global variab...
168
05/07/16	Version 0.10.2 - Final version 0.10
2ceea892   haribo   Date: 19/07/2016
169
170
171
			Monitoring first version
			https://projects.irap.omp.eu/versions/120

552f1515   Etienne Pallier   New global variab...
172
05/07/16	Version 0.9.2 - Final version 0.9
288601ca   haribo   Date: 05/07/2016
173
174
175
			Analysis skeleton
			https://projects.irap.omp.eu/versions/119

552f1515   Etienne Pallier   New global variab...
176
28/06/16	Version 0.8.3 - Final version 0.8
288601ca   haribo   Date: 05/07/2016
177
			Execution (majordome & obs manager), first version
5d61cbfe   haribo   Just adding / rem...
178
179
			https://projects.irap.omp.eu/versions/118

7f83556a   Etienne Pallier   updated README
180
23/06/16		Version 0.7.8 - Final version 0.7
9f81217f   haribo   Date: 22/06/2016
181
182
183
			Routine manager, first version
			https://projects.irap.omp.eu/versions/117

7f83556a   Etienne Pallier   updated README
184
20/05/16		Version 0.6.1 - Final version 0.6
bbf6e698   haribo   Date: 14/06/2016
185
186
187
			Complete user management
			https://projects.irap.omp.eu/versions/123

7f83556a   Etienne Pallier   updated README
188
20/05/16		Version 0.5.4 - Final version 0.5
bbf6e698   haribo   Date: 14/06/2016
189
190
191
			Complete alert manager first version
			https://projects.irap.omp.eu/versions/116

7f83556a   Etienne Pallier   updated README
192
20/05/16		Version 0.4.2 - Final version 0.4
a2283bf3   haribo   Date: 20/05/2016
193
194
195
			Complete scheduler update
			https://projects.irap.omp.eu/versions/90

7f83556a   Etienne Pallier   updated README
196
10/05/16		Version 0.3.12 - Final version 0.3
0295ca78   Etienne Pallier   README update for...
197
198
			Complete workflow skeleton
			https://projects.irap.omp.eu/versions/88
9d8a01e0   Etienne Pallier   updated
199

7f83556a   Etienne Pallier   updated README
200
13/04/16		Version 0.2.7 - Final version 0.2
0295ca78   Etienne Pallier   README update for...
201
202
			Integrate PLANNER module
			https://projects.irap.omp.eu/versions/97
c668c248   haribo   Updated README wi...
203

7f83556a   Etienne Pallier   updated README
204
12/04/16		Version 0.1.1 - Final version 0.1
9d8a01e0   Etienne Pallier   updated
205
206
			Multi-platform skeleton easy install + admin interface on database + start dashboard
			https://projects.irap.omp.eu/versions/87
e401257c   Etienne Pallier   README with miles...
207

e401257c   Etienne Pallier   README with miles...
208
04/04/16 	Installable version (install script)
f49b7078   Etienne Pallier   Bugfix tests and ...
209
210
211
212
213
214
215
216
217
218
219
220
221


--------------------------------------------------------------------------------------------
## TODO LIST (URGENT)

DEMO:
- SIMULATOR: 
    - (AC) réserver cette page à un login superuser sinon n'importe qui pourra faire n'importe quoi à distance...
    - 1) PLC : 
        - ajouter boutons "START" et "STOP"
        - implémenter weather et site OK/KO
    - 2) TELE : implémenter "start" et "stop"
    - 3) General : implement set to night/day