Forum KNX francophone / English KNX forum
KNXWEB executer du php? - Version imprimable

+- Forum KNX francophone / English KNX forum (https://www.knx-fr.com)
+-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3)
+--- Forum : Archives eib-domotique (https://www.knx-fr.com/forumdisplay.php?fid=8)
+--- Sujet : KNXWEB executer du php? (/showthread.php?tid=1352)



KNXWEB executer du php? - kraven - 10/02/2011

Bonjour,

Je cherche un moyen d’exécuter un script php dans un block de Knxweb.
J'ai essayer de mettre du http dans un élement HTML Block mais sa ne
fonctionne pas.

Le but de l’opération est d'afficher le nombre de mail non lu dans ma
boite gmail.

Voici le code que j'utilise.

<?php
require('parser_xml.php');
$xml = file_get_contents('https://
***.*******@gmail.com:Mot_de_passe@mail.google.com/mail/feed/atom/
unread/');
$parser = new XMLParser($xml);
$parser->Parse();

$unread_mail = $parser->document->fullcount[0]->tagData;

echo $unread_mail;
?>


Quelqu'un aurai une idée?

Merci


KNXWEB executer du php? - Anthony PENHARD - 10/02/2011

Salut,

essai un truc du genre Saddans design.xml)

<control type="html" label="gmail" x="100" y="100"><![CDATA[
<object data="TAPAGEPHP.php" type="text/html" />
]]></control>

avec dans TAPAGEPHP.php tu met le code que tu donne

j'ai essayer rapidement ça à l'air de fonctionner

PS : je suis intéressé par l'idée et donc le code source de ton
"parser_xml.php"

@+
Anthony.



Le 10 février 2011 13:50, kraven <ohl.christophe@gmail.com> a écrit :

> Bonjour,
>
> Je cherche un moyen d’exécuter un script php dans un block de Knxweb.
> J'ai essayer de mettre du http dans un élement HTML Block mais sa ne
> fonctionne pas.
>
> Le but de l’opération est d'afficher le nombre de mail non lu dans ma
> boite gmail.
>
> Voici le code que j'utilise.
>
> <?php
> require('parser_xml.php');
> $xml = file_get_contents('https://
> ***.*******@gmail.com:Mot_de_passe@mail.google.com/mail/feed/atom/
> unread/' <http://ot_de_passe@mail.google.com/mail/feed/atom/%0Aunread/%27>
> );
> $parser = new XMLParser($xml);
> $parser->Parse();
>
> $unread_mail = $parser->document->fullcount[0]->tagData;
>
> echo $unread_mail;
> ?>
>
>
> Quelqu'un aurai une idée?
>
> Merci


KNXWEB executer du php? - kraven - 10/02/2011

Merci Anthony, je teste ta solution.

Pour le parser xml il vient d'ici http://www.criticaldevelopment.net/xml/doc.php

A+

On 10 fév, 14:06, Anthony PENHARD <a.penh...@gmail.com> wrote:
> Salut,
>
> essai un truc du genre Saddans design.xml)
>
> <control type="html" label="gmail" x="100" y="100"><![CDATA[
>   <object data="TAPAGEPHP.php" type="text/html" />
>   ]]></control>
>
> avec dans TAPAGEPHP.php tu met le code que tu donne
>
> j'ai essayer rapidement ça à l'air de fonctionner
>
> PS : je suis intéressé par l'idée et donc le code source de ton
> "parser_xml.php"
>
> @+
> Anthony.
>
> Le 10 février 2011 13:50, kraven <ohl.christo...@gmail.com> a écrit :
>
>
>
>
>
>
>
> > Bonjour,
>
> > Je cherche un moyen d’exécuter un script php dans un block de Knxweb.
> > J'ai essayer de mettre du http dans un élement HTML Block mais sa ne
> > fonctionne pas.
>
> > Le but de l’opération est d'afficher le nombre de mail non lu dans ma
> > boite gmail.
>
> > Voici le code que j'utilise.
>
> > <?php
> > require('parser_xml.php');
> > $xml = file_get_contents('https://
> > ***.****...@gmail.com:Mot_de_pa...@mail.google.com/mail/feed/atom/
> > unread/' <http://ot_de_pa...@mail.google.com/mail/feed/atom/%0Aunread/%27>
> > );
> > $parser = new XMLParser($xml);
> > $parser->Parse();
>
> > $unread_mail = $parser->document->fullcount[0]->tagData;
>
> > echo $unread_mail;
> > ?>
>
> > Quelqu'un aurai une idée?
>
> > Merci


KNXWEB executer du php? - kraven - 10/02/2011

Donc ça fonctionne Smile
Il ne manque plus qu'un refresh automatique toute les x minutes est
c'est parfait Smile

Merci

On 10 fév, 14:14, kraven <ohl.christo...@gmail.com> wrote:
> Merci Anthony, je teste ta solution.
>
> Pour le parser xml il vient d'icihttp://www.criticaldevelopment.net/xml/doc.php
>
> A+
>
> On 10 fév, 14:06, Anthony PENHARD <a.penh...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Salut,
>
> > essai un truc du genre Saddans design.xml)
>
> > <control type="html" label="gmail" x="100" y="100"><![CDATA[
> >   <object data="TAPAGEPHP.php" type="text/html" />
> >   ]]></control>
>
> > avec dans TAPAGEPHP.php tu met le code que tu donne
>
> > j'ai essayer rapidement ça à l'air de fonctionner
>
> > PS : je suis intéressé par l'idée et donc le code source de ton
> > "parser_xml.php"
>
> > @+
> > Anthony.
>
> > Le 10 février 2011 13:50, kraven <ohl.christo...@gmail.com> a écrit :
>
> > > Bonjour,
>
> > > Je cherche un moyen d’exécuter un script php dans un block de Knxweb.
> > > J'ai essayer de mettre du http dans un élement HTML Block mais sa ne
> > > fonctionne pas.
>
> > > Le but de l’opération est d'afficher le nombre de mail non lu dans ma
> > > boite gmail.
>
> > > Voici le code que j'utilise.
>
> > > <?php
> > > require('parser_xml.php');
> > > $xml = file_get_contents('https://
> > > ***.****...@gmail.com:Mot_de_pa...@mail.google.com/mail/feed/atom/
> > > unread/' <http://ot_de_pa...@mail.google.com/mail/feed/atom/%0Aunread/%27>
> > > );
> > > $parser = new XMLParser($xml);
> > > $parser->Parse();
>
> > > $unread_mail = $parser->document->fullcount[0]->tagData;
>
> > > echo $unread_mail;
> > > ?>
>
> > > Quelqu'un aurai une idée?
>
> > > Merci


KNXWEB executer du php? - kraven - 10/02/2011

Si certain son intéressé voici la procédure

Il suffit de créer un block HTML avec dedans <object data="./
gmail.php" type="text/html" />

Ensuite à la racine de Knxweb vous mettez un fichier php nommé
gmail.php contenant

<?php
require('parser_xml.php');
$login = 'votre_login_gmail';
$mdp = 'votre_mdp_gmail';
$xml = file_get_contents('https://' . $login . ':' . $mdp .
'@mail.google.com/mail/feed/atom/unread/');
$parser = new XMLParser($xml);
$parser->Parse();

$unread_mail = $parser->document->fullcount[0]->tagData;
echo '<a href="https://mail.google.com/" target="_blank">' .
$unread_mail . ' mail(s) non lu</a>';
?>

ensuite vous télécharger le parser sur ce site http://www.criticaldevelopment.net/xml/doc.php
en fonction de votre version de php que vous renommez parser_xml.php
et qu'il faut placer à la racine de knxweb.

Voila c'est artisanal mais ca fonctionne.

Il reste maintenant à faire de jolie icone et de faire en sorte que sa
s'actualise automatiquement.

A+


On 10 fév, 14:26, kraven <ohl.christo...@gmail.com> wrote:
> Donc ça fonctionne Smile
> Il ne manque plus qu'un refresh automatique toute les x minutes est
> c'est parfait Smile
>
> Merci
>
> On 10 fév, 14:14, kraven <ohl.christo...@gmail.com> wrote:
>
>
>
>
>
>
>
> > Merci Anthony, je teste ta solution.
>
> > Pour le parser xml il vient d'icihttp://www.criticaldevelopment.net/xml/doc.php
>
> > A+
>
> > On 10 fév, 14:06, Anthony PENHARD <a.penh...@gmail.com> wrote:
>
> > > Salut,
>
> > > essai un truc du genre Saddans design.xml)
>
> > > <control type="html" label="gmail" x="100" y="100"><![CDATA[
> > >   <object data="TAPAGEPHP.php" type="text/html" />
> > >   ]]></control>
>
> > > avec dans TAPAGEPHP.php tu met le code que tu donne
>
> > > j'ai essayer rapidement ça à l'air de fonctionner
>
> > > PS : je suis intéressé par l'idée et donc le code source de ton
> > > "parser_xml.php"
>
> > > @+
> > > Anthony.
>
> > > Le 10 février 2011 13:50, kraven <ohl.christo...@gmail.com> a écrit :
>
> > > > Bonjour,
>
> > > > Je cherche un moyen d’exécuter un script php dans un block de Knxweb.
> > > > J'ai essayer de mettre du http dans un élement HTML Block mais sa ne
> > > > fonctionne pas.
>
> > > > Le but de l’opération est d'afficher le nombre de mail non lu dans ma
> > > > boite gmail.
>
> > > > Voici le code que j'utilise.
>
> > > > <?php
> > > > require('parser_xml.php');
> > > > $xml = file_get_contents('https://
> > > > ***.****...@gmail.com:Mot_de_pa...@mail.google.com/mail/feed/atom/
> > > > unread/' <http://ot_de_pa...@mail.google.com/mail/feed/atom/%0Aunread/%27>
> > > > );
> > > > $parser = new XMLParser($xml);
> > > > $parser->Parse();
>
> > > > $unread_mail = $parser->document->fullcount[0]->tagData;
>
> > > > echo $unread_mail;
> > > > ?>
>
> > > > Quelqu'un aurai une idée?
>
> > > > Merci


KNXWEB executer du php? - kraven - 10/02/2011

Merci je vais testé

Le problème c'est qu'en javascript avec xmlhttprequest, il y a un
erreur car a priori le navigateur empêche le navigateur de recupérer
des infos sur un site distant pour des raisons de securité.



On 10 fév, 16:00, a.penh...@gmail.com wrote:
> pour l'actualisation automatique c'est plus compliqu� ...
>
> il faut utiliser du code javascript et de l'Ajax pour "lire" le script php
> et un setTimeout pour boucler sur la fonction
>
> un truc du genre (pas test� du tout � voir si �a marche):
> code html :
> <div id="gmail"></div>
> <script type="text/javascript">
> function displayGmail()
> {
>     $.ajax({
>       type: "GET",
>       url: "./gmail.php",
>       dataType: "html",
>       async: false,
>       cache: false,
>       success: function(html) {
>         $("#gmail").empty(); // vide le div
>         $("#gmail").append(html); // alimente le div avec le code html
>       }
>     });
>     setTimeout('displayGmail()',300000);   // boucle toutes les 300
> secondes soit les 5 minutes};
>
> displayGmail();
> </script>
>
> PS : merci pour le lien du parseur xml
> sinon c'est possible en javascript si le flux est "assez simple"
>
> encore une fois je n'ai pas test� du tout ce bout de code ...
> @+
> Anthony.
>
>
>
>
>
>
>
> > Si certain son int�ress� voici la proc�dure
>
> > Il suffit de cr�er un block HTML avec dedans <object data="./
> > gmail.php" type="text/html" />
>
> > Ensuite � la racine de Knxweb vous mettez un fichier php nomm�
> > gmail.php contenant
>
> > <?php
> > require('parser_xml.php');
> > $login = 'votre_login_gmail';
> > $mdp = 'votre_mdp_gmail';
> > $xml = file_get_contents('https://' . $login . ':' . $mdp .
> > '...@mail.google.com/mail/feed/atom/unread/');
> > $parser = new XMLParser($xml);
> > $parser->Parse();
>
> > $unread_mail = $parser->document->fullcount[0]->tagData;
> > echo '<a href="https://mail.google.com/" target="_blank">' .
> > $unread_mail . ' mail(s) non lu</a>';
> > ?>
>
> > ensuite vous t�l�charger le parser sur ce site
> >http://www.criticaldevelopment.net/xml/doc.php
> > en fonction de votre version de php que vous renommez parser_xml.php
> > et qu'il faut placer � la racine de knxweb.
>
> > Voila c'est artisanal mais ca fonctionne.
>
> > Il reste maintenant � faire de jolie icone et de faire en sorte que sa
> > s'actualise automatiquement.
>
> > A+
>
> > On 10 f�v, 14:26, kraven <ohl.christo...@gmail.com> wrote:
> >> Donc �a fonctionne Smile
> >> Il ne manque plus qu'un refresh automatique toute les x minutes est
> >> c'est parfait Smile
>
> >> Merci
>
> >> On 10 f�v, 14:14, kraven <ohl.christo...@gmail.com> wrote:
>
> >> > Merci Anthony, je teste ta solution.
>
> >> > Pour le parser xml il vient
> >> d'icihttp://www.criticaldevelopment.net/xml/doc.php
>
> >> > A+
>
> >> > On 10 f�v, 14:06, Anthony PENHARD <a.penh...@gmail.com> wrote:
>
> >> > > Salut,
>
> >> > > essai un truc du genre Saddans design.xml)
>
> >> > > <control type="html" label="gmail" x="100" y="100"><![CDATA[
> >> > > � <object data="TAPAGEPHP.php" type="text/html" />
> >> > > � ]]></control>
>
> >> > > avec dans TAPAGEPHP.php tu met le code que tu donne
>
> >> > > j'ai essayer rapidement �a � l'air de fonctionner
>
> >> > > PS : je suis int�ress� par l'id�e et donc le code source de ton
> >> > > "parser_xml.php"
>
> >> > > @+
> >> > > Anthony.
>
> >> > > Le 10 f�vrier 2011 13:50, kraven <ohl.christo...@gmail.com> a �crit
> >> :
>
> >> > > > Bonjour,
>
> >> > > > Je cherche un moyen d�ex�cuter un script php dans un block de
> >> Knxweb.
> >> > > > J'ai essayer de mettre du http dans un �lement HTML Block mais sa
> >> ne
> >> > > > fonctionne pas.
>
> >> > > > Le but de l�op�ration est d'afficher le nombre de mail non lu dans
> >> ma
> >> > > > boite gmail.
>
> >> > > > Voici le code que j'utilise.
>
> >> > > > <?php
> >> > > > require('parser_xml.php');
> >> > > > $xml = file_get_contents('https://
> >> > > > ***.****...@gmail.com:Mot_de_pa...@mail.google.com/mail/feed/atom/
> >> > > > unread/'
> >> <http://ot_de_pa...@mail.google.com/mail/feed/atom/%0Aunread/%27>
> >> > > > );
> >> > > > $parser = new XMLParser($xml);
> >> > > > $parser->Parse();
>
> >> > > > $unread_mail = $parser->document->fullcount[0]->tagData;
>
> >> > > > echo $unread_mail;
> >> > > > ?>
>
> >> > > > Quelqu'un aurai une id�e?
>
> >> > > > Merci


KNXWEB executer du php? - kraven - 10/02/2011

Non ton code fonctionne je viens de tester.

Par contre si je veux récupérer directement le xml de google via
javascript avec xmlhttprequest cela ne fonctionne pas. C'est pour
cette raison que j'ai utiliser php. Mais étant donné que je n'y
comprend rien ni en php ni en javascript c'est pas simple Smile



On 10 fév, 16:19, a.penh...@gmail.com wrote:
> > Merci je vais test
>
> ok merci
>
> > Le probl me c'est qu'en javascript avec xmlhttprequest, il y a un
> > erreur car a priori le navigateur emp che le navigateur de recup rer
> > des infos sur un site distant pour des raisons de securit .
>
> je n'ai pas compris ? quel navigateur ? et quelle erreur ?
>
> knxweb utilise de l'ajax via jquery si tu arrive avoir le retour d' tat
> dans knxweb c'est que cela fonctionne sans probl me
>
> le bout de code que j'ai donn lance la fonction "ajax" de jquery ce qui
>  permet de "laisser jquery" g rer les diff rences entre chaque navigateur
> c'est sur le m me principe que le coeur de knxweb
>
> @+
> Anthony.


KNXWEB executer du php? - kraven - 10/02/2011

Ok maintenant j'ai tous les éléments pour essayer de faire un block
Gmail pour knxweb. Le seul soucis est que dans Knxweb les div n'ont
pas d'ID. Je vais creuser le truc et essayer de faire un truc
convenable.

A+

Christophe


On 10 fév, 16:25, kraven <ohl.christo...@gmail.com> wrote:
> Non ton code fonctionne je viens de tester.
>
> Par contre si je veux récupérer directement le xml de google via
> javascript avec xmlhttprequest cela ne fonctionne pas. C'est pour
> cette raison que j'ai utiliser php. Mais étant donné que je n'y
> comprend rien ni en php ni en javascript c'est pas simple Smile
>
> On 10 fév, 16:19, a.penh...@gmail.com wrote:
>
>
>
>
>
>
>
> > > Merci je vais test
>
> > ok merci
>
> > > Le probl me c'est qu'en javascript avec xmlhttprequest, il y a un
> > > erreur car a priori le navigateur emp che le navigateur de recup rer
> > > des infos sur un site distant pour des raisons de securit .
>
> > je n'ai pas compris ? quel navigateur ? et quelle erreur ?
>
> > knxweb utilise de l'ajax via jquery si tu arrive avoir le retour d' tat
> > dans knxweb c'est que cela fonctionne sans probl me
>
> > le bout de code que j'ai donn lance la fonction "ajax" de jquery ce qui
> >  permet de "laisser jquery" g rer les diff rences entre chaque navigateur
> > c'est sur le m me principe que le coeur de knxweb
>
> > @+
> > Anthony.


KNXWEB executer du php? - Ferllings - 11/02/2011

bonjour,

Plutot que d'utiliser empty et append:
$("#gmail").html(html); // Remplace le code html à l'interieur

--Cédric

Le 10/02/11 16:00, a.penhard@gmail.com a écrit :
> pour l'actualisation automatique c'est plus compliqué ...
>
> il faut utiliser du code javascript et de l'Ajax pour "lire" le script php
> et un setTimeout pour boucler sur la fonction
>
> un truc du genre (pas testé du tout à voir si ça marche):
> code html :
> <div id="gmail"></div>
> <script type="text/javascript">
> function displayGmail()
> {
> $.ajax({
> type: "GET",
> url: "./gmail.php",
> dataType: "html",
> async: false,
> cache: false,
> success: function(html) {
> $("#gmail").empty(); // vide le div
> $("#gmail").append(html); // alimente le div avec le code html
> }
> });
> setTimeout('displayGmail()',300000); // boucle toutes les 300
> secondes soit les 5 minutes
> };
> displayGmail();
> </script>
>
> PS : merci pour le lien du parseur xml
> sinon c'est possible en javascript si le flux est "assez simple"
>
> encore une fois je n'ai pas testé du tout ce bout de code ...
> @+
> Anthony.


KNXWEB executer du php? - kraven - 17/02/2011

Bonjour,

Il y a des pro du Javascript par ici. Pourquoi ne mettez vous pas vos
talents pour faire avancer Knxweb? Moi il m'a fallu 3 jours et presque
3 nuits pour afficher mes mails non lu de ma boite Gmail alors
forcement je ne suis pas d'une grande aide dans le projet. Se serait
pas mal qu'une petite communauté se mettent en place pour develloper
des plugins à knxweb?

A+

On 11 fév, 08:25, Ferllings <ferlli...@gmail.com> wrote:
> bonjour,
>
> Plutot que d'utiliser empty et append:
> $("#gmail").html(html); // Remplace le code html à l'interieur
>
> --Cédric
>
> Le 10/02/11 16:00, a.penh...@gmail.com a écrit :
>
>
>
>
>
>
>
> > pour l'actualisation automatique c'est plus compliqué ...
>
> > il faut utiliser du code javascript et de l'Ajax pour "lire" le script php
> > et un setTimeout pour boucler sur la fonction
>
> > un truc du genre (pas testé du tout à voir si ça marche):
> > code html :
> > <div id="gmail"></div>
> > <script type="text/javascript">
> > function displayGmail()
> > {
> >      $.ajax({
> >        type: "GET",
> >        url: "./gmail.php",
> >        dataType: "html",
> >        async: false,
> >        cache: false,
> >        success: function(html) {
> >          $("#gmail").empty(); // vide le div
> >          $("#gmail").append(html); // alimente le div avec le code html
> >        }
> >      });
> >      setTimeout('displayGmail()',300000);   // boucle toutes les 300
> > secondes soit les 5 minutes
> > };
> > displayGmail();
> > </script>
>
> > PS : merci pour le lien du parseur xml
> > sinon c'est possible en javascript si le flux est "assez simple"
>
> > encore une fois je n'ai pas testé du tout ce bout de code ...
> > @+
> > Anthony.


KNXWEB executer du php? - kraven - 17/02/2011

>... google et les tuto aides bien ...

Et le temps. Chose que je n'ai pas en ce moment Smile