Panel-GZW - RMLL 2010

Transcription

Panel-GZW - RMLL 2010
« Rencontres Mondiales du Logiciel Libre
2010 »
By Gaëtan Trellu – GoldZone Web
Schedule
1. Introduction
2. Functions
3. Architecture
4. Project
5. Conclusion
2
Panel-GZW ?
Web interface for managing web
platform on Unix/Linux environment
Open Source solution
Very easy for system administrators
and customers
3
Why this solution ?
Actually, the existing solutions are not
totally useful for our needs.
Goals :
• Simplify the management
• The panel stay independant
• Easier for the user
4
Compare some solutions
Open source
Free
Easy
Independant
Panel-GZW
Plesk
VHCS
ISP Config
5
Modulare
Schedule
1. Introduction
2. Functions
3. Architecture
4. Project
5. Conclusion
6
Fonctions (1/2)
 Manage FTP users
• Add, delete, rights, ...
 Manage cronjobs
• Add, delete, edit
 Manage domains name
• Subdomain, alias, MX, …
 Manage statistics
• Visitors, pages, navigators, ...
7
Fonctions (2/2)
 Manage mails
• Mailboxes, alias, ...
 Manage pre-installs
• Blog, gallery, forum, CMS, …
 Manage databases
• Users, databases, ...
8
Multi-languages and Panel-GZW ?
 Always with the functions purpose by the
CakePHP framework, Panel-GZW can use
many languages
 The lang files are available in « .po »
format
9
Schedule
1. Introduction
2. Functions
3. Architecture
4. Project
5. Conclusion
10
Design pattern
Panel-GZW
WebApp
SQL Flow
Framework
Database
Daemon
Script
SQL Flow
DBI
connectors
11
Standards used
 PHP language
 CakePHP framework (MVC model)
 MySQL databases engine
 Perl language for the daemon
12
Fonctional environment
 Panel-GZW
work
in
Unix/Linux
environements (*BSD, Debian GNU/Linux,
Red Hat, etc...)
 Non-Unix environments (Microsoft) need
some adaptations (may be are you ok ?)
13
MVC, what does it mean ?
Model | View | Contoller
 Model : Data description and database
access
 View : Display on the screen (Humain
Interface Machine)
 Controller : Chains of availables functions
14
Why CakePHP framwork ?
 Respect the MVC model
 Use relationship databases
 Can be connected with many databases
engines (MySQL, PosgreSQL, Oracle,
Sybase, ...)
 Huge community behind the project
15
Architecture
Models
Controllers
Views
Locales
Database
Composants
Models
Controllers
Elements
Views
Locales
Elements
16
Exemple d'infrastructure
Web
Mail
DNS
Databases
Panel-GZW
-----------------Daemon GZW
FTP
-----------------NFS
17
Why use a daemon ?
 Increase the security (never
system command in PHP)
execute
 Split the interactive part and the tasks
part
18
How work the daemon ?
 The daemon is write in Perl language, he
is connected with the database by a DBI
connector
 The daemon will find the new events in
« robot » table and then will execute the
system tasks
19
Daemon architecture
Database
Database
…
…
daemon
daemon
...
...
panel-gzwd.pl
./bin/
DBI
connector
./lib/
./templates/
Select events
Edit events
20
Schedule
1. Introduction
2. Functions
3. Architecture
4. Project
5. Conclusion
21
Summary
 Main functions :
• Web hosting
• Intranet for smalls business, ...
 Architecture :
• Modular
• Standards technologies
 Environnements :
• Unix
• Linux
22
The Panel-GZW project (1/3)
 Lead developper : Gaëtan Trellu
 Development steps :
• Fonctional model (February 2007
december 2007)
• Architecture model (January 2008
december 2008)
• Prototype (June 2009 – october 2009)
• Version 1 (July 2010)
23
–
–
The Panel-GZW project (2/3)
 Humans ressources :
• Concepter : Gaëtan Trellu
• Coordinator : Gaëtan Trellu
• Developpers :
» Gaëtan Trellu
» Nicolas Bourges
• Testers :
» Models : GoldZone Web
» Prototypes : Semantys, Induct
24
The Panel-GZW project (3/3)
 Technicals ressources
• Developpement environments :
» PIII 1Ghz, 512Mo Ram
» Bi-Xeon 3Ghz, 4Go Ram
• Technicals environments :
» Debian GNU/Linux Lenny, CentOS
» Apache / PHP / Perl
» MySQL
» Firefox, Safari, Internet Explorer
25
The numbers (1/2)
 6400 lignes de code
 Plus de 500 téléchargements depuis le
mois d'octobre 2009
 Développement du panel actif et évolue
par palier
 Our solution is already present in some
business
26
The numbers (2/2)
Charge consommée :
• Models : 100 days (60 + 40)
• Prototype : 200 days (160 + 40)
• Version 1 : 50 days
Estimations (to do) :
• Version 1 : 150 days (90 + 60)
27
Schedule
1. Introduction
2. Functions
3. Architecture
4. Project
5. Conclusion
28
Conclusion (1/2)
The Panel-GZW is available under tarball
Tarball content :
• WebApp
• SQL structure
• « README.txt » file
Wiki documentation is on line
29
Conclusion (2/2)
 Open source product
 Open to contributors :
• Developpers
(suggests,
new
modules, ...)
• Compagny (exigences, ...)
 Need more testers (business, users, ...)
30
Thanks
Nous remercions les sites pilotes ainsi que
les contributeurs
de nous avoir fait
confiance.
Contact :
– Mail : [email protected]
– Phone : +336 73 95 93 30
– Website : http://www.panel-gzw.com
31
32

Documents pareils