mardi 26 juillet 2011
Afficher le HTML d'un site web sous Linux
wget -q -O - "$@" <url>
ou
wget -q -O <url>
ou
wget -qO- <url>
ou
wget -q -O <url>
ou
wget -qO- <url>
lundi 11 juillet 2011
Créer des diagrammes
Possibilité de sauvegarder en local (XML, SVG, PNG) et de re-ouvrir (si sauvegardé précédemment en XML). Peut ouvrir les fichiers VDX (Visio).
vendredi 8 juillet 2011
Mettre en place plusieurs applications sous CherryPy
Avec CherryPy 3.X, il est possible d'associer plusieurs applications à un seul site. Nous allons voir comment mettre en place 3 applications basiques (ayant chacune son propre fichier de configuration) et les associer à une instance CherryPy (ayant lui aussi son propre fichier de configuration).
Le principe est expliqué ici : http://www.cherrypy.org/wiki/ConfigAPI#Architecture
Les instructions que je donne ci-dessous se basent sur un environnement Windows. Mais très peu de choses varient pour Linux (ce qui changent, c'est la façon d'installer Python et CherryPy ainsi que les répertoires de Python et CherryPy).
1 - Installation de Python et CherryPy- installer Python 3.X : l'installer dans C:\Python3X
- installer CherryPy 3.X : il s'installe dans C:\Python3X\Lib\site-packages\cherrypy
2 - Création d'une application
- dans le répertoire de CherryPy, créer le répertoire app1
- dans ce répertoire , créer les fichiers :
__init__.py
<fichier vide>
appli1.conf (le contenu de ce fichier n'est qu'un exemple)
[Databases]
driver: "postgres"
host: "localhost"
port: 5432
appli1.py
import cherrypy
class App1:
def index(self):
return "Hello world from app1 !"
index.exposed = True
3 - Création d'une deuxième application
répéter les manips indiquées dans le chapitre "Creation d'une application", en remplacant "1" par "2" ("appli1.py"->"appli2.py" , "class App1"->"class App2", etc)
4 - Création d'une troisième application
4 - Création d'une troisième application
répéter les manips indiquées dans le chapitre "Creation d'une application", en remplacant "1" par "3" ("appli1.py"->"appli3.py" , "class App1"->"class App3", etc)
5 - Création du script de démarrage du site
à la racine de CherryPy (dans notre cas il s'agit de C:\Python3X\Lib\site-packages\cherrypy), créer le fichier :
startup.py
import cherrypy
import appli1.appli1
import appli2.appli2
import appli3.appli3
def initApp( path, confFileName=None, app=None):
appliConf = os.path.join(os.path.dirname(__file__), confFileName)
cherrypy.tree.mount(app, path, config=appliConf)
if __name__ == '__main__':
import os.path
#initialisation du fichier de configuration du site :
globalconf = os.path.join(os.path.dirname(__file__), 'global.conf')
cherrypy.config.update(globalconf)
#initialisation des fichiers de configuration des appli1, 2 et 3 :
initApp('/1', 'appli1/appli1.conf',appli1.appli1.App1());
initApp('/2', 'appli2/appli2.conf',appli2.appli2.App2());
initApp('/3', 'appli3/appli3.conf',appli3.appli3.App3());
cherrypy.engine.start()
cherrypy.engine.block()
6 - Création du fichier de configuration du site
à la racine de cherrypy (dans notre cas il s'agit de C:\Python3X\Lib\site-packages\cherrypy), créer le fichier :
global.conf
[global]server.socket_host = "127.0.0.1"
server.socket_port = 8088server.thread_pool = 10
7 - Lancement de CherryPy
- taper la commande : python startup.py
- lancer un navigateur et aller à : http://127.0.0.1:8088/1/
=>"Hello world from app1 !" s'affiche :o)
- lancer un navigateur et aller à : http://127.0.0.1:8088/2/
=>"Hello world from app2 !" s'affiche :o)
- lancer un navigateur et aller à : http://127.0.0.1:8088/3/
=>"Hello world from app3 !" s'affiche :o)
Inscription à :
Articles (Atom)
Categories
- /etc/hosts (1)
- 443 (1)
- 80 (1)
- a2dp (1)
- addsubview (1)
- affix (1)
- amazon (1)
- android (6)
- angularjs (1)
- angularjs cross domain json post (1)
- angularjs ionic ng-click twice (1)
- animate (1)
- ansible (2)
- antlr (1)
- apache2 processes (1)
- app (1)
- app store (1)
- apple (1)
- appstore (1)
- avis (2)
- baignoire (1)
- basics (1)
- bitbucket (1)
- blackberry (1)
- bluetooth (1)
- booster (1)
- bootstrap (3)
- bottle (4)
- browsers (1)
- buffer (1)
- cherrypy (3)
- chromebook real life (1)
- coder (2)
- communicator (1)
- config.txt (1)
- creme chocolat (1)
- crepes bretonnes (1)
- crlf (1)
- css (2)
- cuisine (1)
- database (4)
- datatables (1)
- datetime (1)
- delete (1)
- disconnect (1)
- distributing (1)
- english (2)
- flask (1)
- fontawesome (1)
- francais (51)
- futuristic (1)
- game (1)
- gil (1)
- git (9)
- github (1)
- gratuit (2)
- hadopi (1)
- header (1)
- height zero (1)
- hibernate (1)
- hotel (2)
- http (1)
- https (2)
- ionic (2)
- ios (2)
- ios7 (1)
- iOS8 (1)
- iphone (1)
- jaune (1)
- java (7)
- javamelody (1)
- javascript (1)
- json (3)
- kindle (1)
- knockout (3)
- leaflet (1)
- legere (1)
- lf (1)
- life cycle (1)
- linkedin resume builder profile (1)
- linux (9)
- log (1)
- luxembourg (1)
- machine (1)
- maizena (1)
- minecraft (1)
- mobile (1)
- mongo (1)
- mongodb (3)
- mongodb mongo linux (1)
- multiple (1)
- myspace (1)
- mysql (1)
- netbeans cordova android cordova-plugin-file (1)
- nginx (2)
- nintendo (1)
- number (1)
- opensolaris (1)
- openstreetmap (1)
- oracle (15)
- order by (1)
- output (1)
- overclocking (1)
- packaging (1)
- parameters (1)
- personnaliser bootstrap (1)
- photos (1)
- pip (2)
- pipewire (1)
- prime (1)
- problem (2)
- project (1)
- publish (1)
- python (26)
- raspberry pi (2)
- raspi-config (1)
- recette (1)
- redirect (1)
- restful (2)
- schema (1)
- screen (1)
- screencast (1)
- script (1)
- scrollspy (1)
- serialization (1)
- sessions (2)
- shell (1)
- shutdown reboot linux reinstall apt-get (1)
- smartgwt (1)
- sncf (1)
- software (1)
- spring (1)
- sql (1)
- sticky footer (1)
- supervisor (1)
- systeme (1)
- tile (1)
- timestamp (1)
- title (1)
- tornado (3)
- turbo (1)
- ubuntu (2)
- uialertview (1)
- video capture (1)
- viewdidappear (1)
- viewdidload (1)
- viewwillappear (1)
- weasyprint (1)
- web (1)
- web2py (1)
- windows (5)
- worker (1)
- xbox wireless headset (1)
- xdk barcode scanner intel.xdk.device.barcode.scan (1)
- XDK rename project (1)
- xeno galaxies (1)