Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Aller à la page:  1 2 Page suivante
Page: 1 sur 2
exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Bonjour, j'ai fait une page web avec trois bouton qui lance:

$var =  shell_exec(' shellflash [127.0.0.1]  > /dev/nul');
$var =  shell_exec(' shellflash [127.0.0.1]  > /dev/nul');
$var =  shell_exec(' shellflash [127.0.0.1]  > /dev/nul');

les trois boutons servent à lancer ;depuis nimporte quelle pc; une animation flash différente sur la bornes qui possede ni clavier ni souris.Cette borne est aussi le serveur apache avec php5 et fluxbuntu.Cette aplliance film les personne qu'il y a devant elle grace a une webcam

Le script shellflash est le suivant:

#!/bin/sh
echo "passwd" | sudo -S killall flashplayer &
killall flashplayer
sleep 1
DISPLAY=:0.0 flashplayer $1 &

J'ai fait un xhost+localhost pour permettre à php d'utiliser X et j'ai aussi autoriser www-data a effectuer mon script,aprés avoir ajouter www-data dans le groupe video pour que flashplayer qui est lancé par www-data est accés à la caméras, tout fonctionne sauf qu'il faut cliquer sur allow à chaque fois pour autoriser flashplayer à accéder à la caméra et que flashplayer passe subitment en anglais.
Je sais ce que vous allez me dire vas dans parametre blablabla mais j'ai essayé et flash ne retiens aucun parametre, pourtant si je lance flashplayer normalement avec la commande flashplayer & j'ai un menu parametre en francais qui retiens bien ce que je lui dit.

j'ai flash player standalone 9
php 5
fluxbuntu

Si vous avez une idée du probleme, une solution, ou des indication comme dans quelle fichier de log je trouve ce que flashplayer dit je suis ouvert à toute propositions



Poste le Friday 12 October 2007 15:17:16
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Pour déboguer ton problème actuel (mais tu as d'autres bogues) et compte tenu que flashplayer est propriétaire, tu pourrais temporairement remplacer
flashplayer
par
strace -f -ff -o /tmp/flashplayer.trace flashplayer
et regarder ensuite les nombreuses traces des appels systèmes de flashplayer dans les différents fichiers /tmp/flashplayer.trace* tu verras alors quels fichiers sont ouverts par flashplayer.

Celà étant, je te suggère de te plonger dans la documentation de flashplayer. En général, même les logiciels propriétaires sont (un peu) documentés :-)

Bien évidemment, RTFM et notamment
man strace

[v]P.S. J'espère n'avoir jamais besoin d'utiliser ta borne: la conception de ton application est abominable, et tu sembles avoir plein d'autres bogues difficlement reproductibles.[/v]


----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 12 October 2007 16:12:23
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

DU nouveau, quand je fais CTRL+ALT+F1 je me log avec l'utilisateur normal, je fais ' shellflash [127.0.0.1] > /dev/nul' cela fonctionne parfaitement j'ai tout mes parametres et le menu et en francais, donc je me suis dit pour faire un test je vais mettre le meme user à apache, je test et toujours le même probleme, donc quelles peuvent etre les différence entre
shell_exec(' shellflash [127.0.0.1] > /dev/nul');
et shellflash [127.0.0.1] > /dev/nul'

en fesant un ps -aux j'ai remarqué qu'il était tout les deux bien lancé avec le même utilisateur

Poste le Friday 12 October 2007 16:26:13
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

As tu envisagé de lire des documentations, des cours? Cela peut t'être utile et tu donnes l'impression de négliger ça.

Pour savoir de quoi dépend l'exécution d'un programme, documentes toi sur l'appel système execve par la commande
man execve

(tu ne comprendras pas tout, mais il se pourrait que tu comprennes un peu mieux).

Les commandes env, pwd, id (et tant d'autres) peuvent être utiles pour déboguer tes problèmes (tu pourrais les insérer temporairement dans tes scripts pour les déboguer et les comprendre). Et il y a aussi les drapeaux -v et -x du shell.

Sinon, il existe d'excellents livres et tutoriaux en ligne d'introduction à la programmation Posix.

Tu donnes vraiment l'impression de coder sans comprendre ce que tu codes (tu aurais presque un bogue à chaque ligne!), et sans chercher à te documenter.


Désolé d'être aussi désagréable, mais j'ai l'impression de devoir me répèter...

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 12 October 2007 16:39:29
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Merci j'ai essayé man execve commande inconnu mais c'est pas grave j'ai regardé sur le web mais c'est vrai que ca m'aide pas beaucoup par contre la commande env m'a permis de trouver une différence d'environement
la variable OLDPWD est différente
le script qui fonction a OLDPWD=/home/toor
et celui lancé par apache a OLDPWD=/var/www
sachant que La variable $OLDPWD contient le chemin absolu vers le répertoire courant précédent cela parrait logique.
mais je ne vois pas en quoi cela peut géner flashplayer à moins qu'ilpossède un profile dans /home/user/?

Poste le Friday 12 October 2007 17:11:29
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Citation
szambaux
Merci j'ai essayé man execve commande inconnu

Alors installes au plus vite la commande man et la documentation des appels systèmes (paquet manpages-dev sur Debian).


Sinon, google sur tutorial linux programming execve donne assez rapidement ces liens:

[www.yolinux.com]

[www.devhood.com]

Et plein d'autres choses.

Enfin, il existe aussi de la documentation sur les shells, PHP, etc...

Tu donnes vraiement l'impression de ne rien comprendre aux lignes que tu codes.

Si ta démarche de développement est d'essayer (quelque chose dans ton code) sans comprendre, tu n'es pas arrivé au bout de tes peines. Cette démarche est inepte et tu es certain d'échouer en ayant perdu ton temps. D'ailleurs la combinatoire bête est inefficace en synthèse de programmes. Si ton procédé (d'essayer au petit bonheur la chance, sans comprendre) était efficace (pour le développement de programmes), il serait facilement automatisable (et l'ordinateur serait meilleur, car plus rapide que toi, à se programmer lui-même que toi; ca serait de la synthèse de programme.).

Il y a des tas de documents (sur le Web, en bibliothèque, ...) qui pourraient t'être utiles.

J'espère que tu es conscient que tu as plein de bogues que tu n'arriveras pas à déboguer sans comprendre, et que ce n'est pas parce que ton code (shell ou PHP) fonctionne une fois par miracle (tu en es très loin) qu'il fonctionnera fiablement en production (sur une borne réelle).



----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 12 October 2007 17:27:23
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

disons quejen'avez pas envie d'apprendre tout les commandes de shell,car j'en est besoin juste pour ca,aprés mon domaine c'est le flash, j'ai juste besoin de ce truc pour aficher mes animations flash, mais bon je vais m'y mettre la mes je doit faire une présentation mardi c'est ca le probleme,donc faut que je fasse vite

Poste le Friday 12 October 2007 19:17:08
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

As tu lu de la documentation sur le système de permission et d'identification d'Unix (en particulier les notions de real & effective user id d'un processus) et la documentation de sudo?

As tu vérifié que la commande sudo de ton script marche comme tu l'imagines?

As tu utilisé la commande id pour déboguer?

As tu regardé tes fichiers de log (sous /var/log)?

Es tu sûr de l'utilisation de /dev/nul ? Qu'est-ce que c'est? As tu lu la documentation afférente?

As tu pris la peine de te documenter?

Les américains ont une façon bien concise de le dire: do your homework.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 12 October 2007 19:17:40
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Citation
szambaux
je dois faire une présentation mardi

Ca ne marchera pas. :-p



----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 12 October 2007 19:18:54
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: oudoubah

J'ai brièvement lu l'historique de ce problème.

Si cela fonctionne à la main, mais pas dans un service, une crontab, un ssh... c'est vraisemblablement un problème d'environnement.

Dans ce cas, une des méthodes simples et efficaces est de faire
". /etc/profile ; . ~/.bash_profile ; ma_commande"

C'est à faire donc avec les modifications qui sont nécessaires à ton cas (i.e. ton utilisateur ne devrait pas avoir de ~/.bash_profile. Tu peux donc essayer dans un premier temps de ne pas "sourcer" ce fichier, et si ça ne fonctionne pas, "sourcer" une copie du .bash_profile de l'utilisateur avec lequel ça fonctionne).

Propos à confirmer : si c'est bien un problème d'environnement, un
ssh apache_user@localhost shellflash [127.0.0.1]
ne devrait pas fonctionner. Je n'ai jamais pris le temps de valider cette affirmation, mais j'ai ouïe dire que lancer ssh pour faire une commande ne "charge" pas le profil utilisateur.

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Friday 12 October 2007 21:34:15
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

permission et d'identification d'Unix (en
particulier les notions de real & effective
user id d'un processus) et la documentation de
sudo?

je suis en train

As tu vérifié que la commande sudo de ton script
marche comme tu l'imagines?
oui sudo -S permet d'éxécuterkillall flashplayer en tant que root et -S permet de signifier à sudo qu'il faut qu'il lise le mot de passe dans le echo"passwd"


As tu utilisé la commande id pour déboguer?
oui avec cette commande j'obtiens bien l'uid de l'utilisateur toor qui est celui avec qui je voulais lancer flashplayer


As tu regardé tes fichiers de log (sous /var/log)?
oui sourtout les log d'apache 2 ce qui ma permet de vois que mes utilisateurs n'avait pas accés au groupe video et audio mais pas d'erreur par rapport a mon script

Es tu sûr de l'utilisation de /dev/nul ? Qu'est-ce
que c'est? As tu lu la documentation afférente?
dev null redirige la sortie de mon script vers rien de cette facon le script redonne la main a apaches c'est préciser dans la doc de shell_exec en note

As tu pris la peine de te documenter?
oui je le fait mais j'ai de grosse lacune, mais le savoir est pas iné il s'apprends

en tout cas merci



Poste le Friday 12 October 2007 22:11:56
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Citation
oudoubah
J'ai brièvement lu l'historique de ce problème.

Si cela fonctionne à la main, mais pas dans un
service, une crontab, un ssh... c'est
vraisemblablement un problème d'environnement.

Dans ce cas, une des méthodes simples et efficaces
est de faire
". /etc/profile ; . ~/.bash_profile ;
ma_commande"

C'est à faire donc avec les modifications qui sont
nécessaires à ton cas (i.e. ton utilisateur ne
devrait pas avoir de ~/.bash_profile. Tu peux donc
essayer dans un premier temps de ne pas "sourcer"
ce fichier, et si ça ne fonctionne pas, "sourcer"
une copie du .bash_profile de l'utilisateur avec
lequel ça fonctionne).

Propos à confirmer : si c'est bien un problème
d'environnement, unssh apache_user@localhost
shellflash [127.0.0.1]ne devrait pas fonctionner.
Je n'ai jamais pris le temps de valider cette
affirmation, mais j'ai ouïe dire que lancer ssh
pour faire une commande ne "charge" pas le profil
utilisateur.

> A l'heure actuelle, il s'est formé une sorte
"d'aristocratie" de Linux qui essaye de maintenir
ses connaissances pour elles et d'en priver les
autres en innondant chaque débutant de
documentations
-+- EF in Guide du linuxien pervers : "Comprenne
qui pourra..." -+-


Merci de cette réponse je pense aussi que cela viens de la,car les variables renvoyé par la commande env sont les memes luid et le gid de l'utilisateur qui lance le rpogramme et le meme et que je n'est aucun message d'erreur nul par, j'essaye ca dès demain je vous tiens au courant merci beaucoup

Poste le Friday 12 October 2007 22:16:37
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Citation
szambaux
Es tu sûr de l'utilisation de /dev/nul ?
Qu'est-ce
que c'est? As tu lu la documentation afférente?
dev null redirige la sortie de mon script vers
rien de cette facon le script

Oui, mais attention à l'orthographe, c'est /dev/null avez 2 l et tu avais écrit /dev/nul avec une seule lettre l (l'effet aura été très différent)

Je vois que tu t'es enfin mis au travail ;-) C'est que tu commençais à me chauffer les oreilles à force de ne pas lire ni la documentation, ni ce que j'avais écrit dès mes premières réponses. Si je prends du temps à répondre, je suis aussi susceptible sur le fait que le posteur initial prenne le temps de les lire et de se documenter.

Je ne sais pas si c'est un stage, un premier boulot ou autre, mais j'imagine que cette micro-experience de développement te seras plus utile que ton expertise en flash (qui n'est pas pérènne), qui n'est qu'un outil parmi d'autres.

Si j'étais ton prof je te mettrais une mauvaise note

Savoir assimiler des connaissances en lisant des documentations est la première qualité requise à tout informaticien, même flashy.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Friday 12 October 2007 22:38:39
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Voila, à l'origine je ne suis pas développeur et je ne compte pas le rester c'est une premieres expérience de travail,je suis plutot administrateur de réseau, je suis désolé pour le /dev/nul c'est une faute de frappe j'ai bien écrit /dev/null dans mes scripts,
Mais ne croyais pas que je ne me documente pas ou que je ne tiens pas compte de vos réflexions et réponse, grâce a vous je me suis rendu compte qu'il était stupide de tester l'éxistance d'un fichier pour éxécuter mes scripts,sachant qu'il y avait de trés bonne fonction dans php pour faire cela, grace a vous j'ai aussi appris qu'il y avait des variables d'environement à mettre dans le script pour que les programmes puissent s'éxécuter dans de bonnes conditions, donc merci, mais j'ai trés bien pris vos remarques je me braque pas, je prend tout ce que je peut apprendre mais je suis juste sous pression

Poste le Friday 12 October 2007 22:57:53
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Citation
szambaux
Voila, à l'origine je ne suis pas développeur et je ne compte pas le rester c'est une première expérience de travail, je suis plutôt administrateur de réseau

C'est presque une circonstance aggravante: un netadmin est un peu sysadmin donc doit comprendre assez finement le lancement des processus, donc les appels systèmes Posix.

Un netadmin ou un sysadmin doit donc savoir développer des scripts professionnels donc:

* bien documentés, lisibles et compréhensibles, pour être facilement maintenus par ton successeur

* robustes, donc gérant la plupart des erreurs. Là il faut comprendre et prévoir, car on peut difficilement tester toutes les erreurs

* fiables, donc fonctionnant même à charge

Le code que tu nous as montré n'avait pas ces qualités. Tu as de gros efforts d'apprentissage à faire.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 13 October 2007 08:14:24
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Je commence mais je dois dire que j'ai une licence administration et sécurité des réseau et que j'ai pratiquement jamais fait de programmation pendant mes années d'école, programme à refaire? surement...

Poste le Monday 15 October 2007 08:10:41
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

Citation
Basile STARYNKEVITCH
Pour déboguer ton problème actuel (mais tu as
d'autres bogues) et compte tenu que flashplayer
est propriétaire, tu pourrais temporairement
remplacerflashplayer
par strace -f -ff -o /tmp/flashplayer.trace
flashplayer
et regarder ensuite les nombreuses traces des
appels systèmes de flashplayer dans les différents
fichiers /tmp/flashplayer.trace* tu verras alors
quels fichiers sont ouverts par flashplayer.
Merci pour le strace, aprés avoir analysé tout les résultat qui sont nombreux(trés nombreux) j'ai trouvé une erreur qui pourrait etre responsable de la perte des parametres

Quand je ne perd pas les parametres j'ai
open("/root/.mozilla/firefox/profiles.ini", 0_RDONLY) = 4

et le lancement avec php donne
open ("/.mozilla/firefox/profiles.ini", 0_RDONLY) = -1 ENOENT (no such file or directory)

donc je php ne va pas chercher le profile dans le bon PATH mais comment lui indiquer? merci

Poste le Monday 15 October 2007 15:06:31
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

probablement la variable d'environnement HOME.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 15 October 2007 15:08:58
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres

Lis attentivement la sortie de
man environ
dans le chapitre 7 des pages de man

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 15 October 2007 15:14:31
Répondre     Citer    
Re: exécution de flash player avec un script php perte des parametres
Envoyé par: szambaux

merci de votre aide, j'ai lu la doc, et je pense donc que c'est la variable HOME qui ne pointe pas vers le bon répertoire, donc je vais dans /etc/passwd, je retrouve www-data l'utilisateur d'apache et j'ai mis /root comme home car j'éxécute mon script en tant que root

cela donne
www-data:x:33:33:www-data:/root:/bin/bash

et j'ai toujours mon probleme, est-ce qu'il y a un autre endroits pour changer le HOME de l'utilisateur d'apache

Poste le Monday 15 October 2007 15:37:33
Répondre     Citer    
Aller à la page:  1 2 Page suivante
Page: 1 sur 2

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
exécution de flash player avec un script php perte des parametres
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.
Nouveau sujet sur ce forum

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons