SliTaz Web Control Panel
================================================================================


Tazpanel is the SliTaz Control Panel, a web interface which lets you manage the
full system in a radically simple way. The output xHTML code is valid xHTML 5
and all theming is done with standard CSS 3. TazPanel is published under a
BSD License.


Use it!
------
You can clone the tazpanel repo into /var/www/tazpanel and work on this
copy or clone it somewhere else and 'make install'. After, add tazpanel to
your /etc/hosts, type './tazpanel start' to start the server and go to the
URL: http://tazpanel:82. Panel user and password are defined in the 
httpd.conf and default is root:root


i18n
----
TazPanel has been coded from the beginning with gettext support. Please
forget 'echo' and use gettext, but remember that gettext "" is equivalent
to echo -n. All scripts use the same TEXTDOMAIN and the same pot files, and 
all translations go in the po/ folder. To start a new translation please
use msginit from the pot file directory. Example for French/France
locale (fr_FR):

	$ msginit -l fr_FR -o fr.po -i tazpanel.pot

To update all translations from a newly updated pot file:

	$ make msgmerge


User interface
--------------
If you develop an official SliTaz GUI for TazPanel, please follow the default 
style. If you need more CSS markup and you are not a coder, please ask an 
official developer for the best way to implement your idea. TazPanel is fully 
themable and more than one theme can be installed, this will allow us to make 
packages in a TazPanel style! All the GUI is done with xHTML 5 and CSS 3, some
javascript can be used, but with precautions... one more time, it's better
to check with a main contributor before adding too much stuff, the goal is,
as for all the SliTaz projects: KISS


CGI template and files
----------------------
To start or test a new function with TazPanel you will find a file in
utils/template.cgi that needs to be in the $PANEL root to work, all TazPanel
CGI scripts are in that location. If you think your code is too big to fit
in another script you can eventually create a new CGI page and update all
links, but please to talk to the AUTHORS beforehand.

	* index.cgi     Main Tazpanel CGI script
	* boot.cgi      All what happens before login
	* network.cgi   All related stuff to networking (eth, wifi, services)
	* pkgs.cgi      Tazpkg packages CGI interface
	* settings.cgi  System settings and services such as time, users
	                accounts, locales or daemons management
	* live.cgi      All tools related to Live systems (CD, USB, Frugal)
	* hardware.cgi  Devices drivers, firmware, printing
	* help.cgi      Cat the html doc and this README file

For common functions have a look to lib/libtazpanel, you may found functions
you need already coded such as a xhtml_header to get the style header.html
in your CGI script. For the loading message you can use loading_msg. When
cat is used: `gettext "Text to translate"`


Web server
----------
Tazpanel can run with the Busybox httpd applet or LightTPD and probably Apache.
Start the webserver with a custom config to listen only on a local port for
security reasons since we run as root to perform system actions, example:

# httpd -p 82 u root -c /etc/slitaz/httpd.conf

Or use a tazpanel cmdline:

# ./tazpanel start


================================================================================
