Beber75 Posté(e) le 15 décembre 2012 Partager Posté(e) le 15 décembre 2012 Bonjour Débutant en Python et ne connaissant rien en Unix, Apache etc... j'essaie tout de même de créer une page Web par un script Python (monscript.py) . J'ai suivi scrupuleusement les conseil du wiki en commencant mon script par #! /usr/local/bin/python print ("Content-Type: text/html") print( (""" description de la page en HTML """) Quand ce script est appelé via la page index.html par : <FORM ACTION="http://mon server/monscript.py" METHOD="post"> cela affiche simplement mon script comme si j'étais sous l'editeur .Il semble que çà ne déclenche pas l'interprétation python Par contre quand je le lance via python directement ( par exemple via Web console en tapant : python monscript.py , le script s'exécute correctement ... Encore plus étonnant , quand je remplace monscript.py par cgi.py ( copié de la bibliothèque) le serveur m'affiche une erreur 404 ( Désolé le serveur synology etc...) Une âme charitable aurait-elle une piste ? Bertrand 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sp@r0 Posté(e) le 15 décembre 2012 Partager Posté(e) le 15 décembre 2012 On va tourner le problème autrement, tu cherches à faire koi comme application Tu veux faire koi au final ??? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Beber75 Posté(e) le 15 décembre 2012 Auteur Partager Posté(e) le 15 décembre 2012 En fait je veux lancer des commandes python pour activer un émetteur infrarouge connecté sur mon réseau . Je peux lui envoyer des commandes via la console python mais j'aimerai creer des pages web accessible de l'extérieur . 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 15 décembre 2012 Partager Posté(e) le 15 décembre 2012 http://flask.pocoo.org/ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Beber75 Posté(e) le 15 décembre 2012 Auteur Partager Posté(e) le 15 décembre 2012 Flask ??? Pour quelqu'un qui débute comme moi le lien est un peu énigmatique . J'utilise python sur Syno . Cà ne suffit pas ??? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Diaoul Posté(e) le 15 décembre 2012 Partager Posté(e) le 15 décembre 2012 (modifié) C'est justement bien plus simple que de faire des print de headers et code HTML dans un CGI. Il n'y a qu'a voir le code de la page d'accueil. Tu peux regarder le tutoriel qui détaille une application avec login/logout et une base de donnée derrière http://flask.pocoo.org/docs/tutorial/introduction/ Il y a également plein d'autre tutoriels sur le net sur flask. Si je comprends bien ton besoin tu peux zapper la partie avec la base de donnée et te concentrer sur quelques requêtes GET qui effectueraient des actions, un peu comme sur la page d'accueil. Seulement, tu ne pourras pas installer Flask avec le Python du SPK Synology, pour cela il faut le SPK SynoCommunity et quelques commandes pour te créer un environnement isolé Python. Par exemple si tu comptes développer ton application dans /volume1/appli/: /usr/local/python/bin/virtualenv --system-site-package /volume1/appli/env # Pour créer un environement virtuel isolé /volume1/appli/env/pip install flask # Pour installer Flask Dans tes fichiers tu peux commencer par le hashbang : #!/volume1/appli/env/bin/python Modifié le 15 décembre 2012 par Diaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Beber75 Posté(e) le 16 décembre 2012 Auteur Partager Posté(e) le 16 décembre 2012 Merci pour ces explications , c'est en effet une piste. Comme je ne pensais pas développer des pages très compliquées je me disais que la technique du "print python" suffisait . En attendant je ne comprend toujours pas pourquoi mon script ne lance pas l'interprétation python ..: Bertrand 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CoolRaoul Posté(e) le 16 décembre 2012 Partager Posté(e) le 16 décembre 2012 (modifié) En attendant je ne comprend toujours pas pourquoi mon script ne lance pas l'interprétation python ..: J'essaierai de changer le suffixe du script de ".py" en ".cgi" ou bien ajouter la clause: AddHandler cgi-script .py à la conf apache Modifié le 16 décembre 2012 par CoolRaoul 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Beber75 Posté(e) le 16 décembre 2012 Auteur Partager Posté(e) le 16 décembre 2012 Merci je vais tenter ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Beber75 Posté(e) le 26 mai 2013 Auteur Partager Posté(e) le 26 mai 2013 (modifié) Bon , après une longue absence je reviens sur ce sujet avec la réponse . Cela peut éclairer les premiers pas de certains qui ne sont pas comme moi fortiche en python , apache , HTML et j'en passe . Déjà il faut , comme indiqué dans un post précédent , paramétrer le fichier de config Apache (httpd-conf-user) pour que la ligne "AddHandler cgi-script " comporte bien l'extension .py . Si ce n'est pas fait les fichiers ne sont pas considéres comme des scripts Python et la ligne #! /usr/local/bin/python du fichier n'est pas interprétée. A chaque modif de la conf Apache ne pas oublier de relancer le serveur Apache pour qu'il prenne les modifs en compte : env - /usr/syno/etc/rc.d/S97apache-user.sh restart Si en appelant le script on tombe sur la page Syno par défaut : Désolé etc... c'est qu'il y a un bug dans le script . Si ce bug n'a pas été décelé en le faisant tourner directement sous python , il faut aller regarder dans le log apache ( httpd-error-user.log) en ayant au préalable configuré correctement la conf Apache pour que ce fichier soit actif avec l'option ERROR . Là on peut trouver l'erreur 13 : accès fichier interdit . C'est dû au fait que les permissions d'accès du fichier script sont insufisantes . Dans mon cas le script était UPLOADé d'un répertoire de mon PC où je développe en Python 3.3 via la webconsole et arrivait sur le volume du syno avec des permissions à zéro . Il faut alors faire un CHMOD 755 ( au départ , on affine après) Après la plupart des erreurs dues au script sont décelées dans la log Apache ... Voila voila ... Modifié le 26 mai 2013 par Beber75 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.