+ Le chant du vario +

Forum de parapente

30 Avril 2024 - 23:01:40 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre mot de passe ?
Avez-vous perdu votre courriel d'activation?

Connexion avec identifiant, mot de passe et durée de la session
  Site   forum   Aide Groupes Calendrier Identifiez-vous Inscrivez-vous        GPS2GE Balises  
Pages: [1]   Bas de page
  Imprimer  
Auteur Fil de discussion: moulinette en webservice ?  (Lu 4100 fois)
0 Membres et 1 Invité sur ce fil de discussion.
raf
Rampant
*
Hors ligne Hors ligne

Aile: Dune
pratique principale: autre (?)
Messages: 0



WWW
« le: 18 Mai 2010 - 17:41:00 »

salut
j organise a l occasion des competes de parapentes online sur le simulateur dans google earth programmé sur paraglidingearth.com (les competes sont là : www.paraglidingearth.com/pgSimCompEvent )
mon probleme : je genere au cours du vol un fichier igc pour garder la trace du vol, stocké en base de données, et j aimerais pouvoir proposer les vols en kml une fois les manches finies.
d ou la question : la moulinette existe-t-elle en "webservice" : on soumet un fichier igc stocké en ligne et on recupere un fichier kml stockable en ligne ?
merci !!!
Signaler au modérateur   parapente Enregistrée
marc
G33k, option ligne de commande
Rampant
*
Hors ligne Hors ligne

Aile: Freestyle2, Aspen2, BiStromboli
pratique principale: vol / site
Messages: 0


Aime le jus de betterave ! Plouf !


« Répondre #1 le: 18 Mai 2010 - 18:19:13 »

Tu peux remplir le formulaire simplement avec un lib genre curl. Par ex:
Code:
#!/bin/bash
CURL=curl
#OUTPUT=output.kmz
PILOT=$USER
DATE=`date +%d/%m/%y`
TIMESHIFT=`date +%z`
#TAKEOFF=undef
#LANDING=undef
#INPUT=input.igc
ANALYSIS=1
CFD=1
# no customization below
URL=http://trace.parawing.net/gps2ge.php
EXTRA=
if [ ! -z $ANALYSIS ]; then
  EXTRA+=" -F Analysis=checked "
fi
if [ ! -z $CFD ]; then
  EXTRA+=" -F cfd=checked "
fi
$CURL -o $OUTPUT \
      -F MAX_FILE_SIZE=1000000 \
      -F pilot=$PILOT \
      -F date=$DATE \
      -F timeshift=$TIMESHIFT \
      -F departure="$TAKEOFF" \
      -F arrival="$LANDING" \
      -F userfile=(@)$INPUT \
      $EXTRA \
      -F ' '=checked \
      $URL
Exemple d'utilisation:
Code:
$ INPUT=plomb-st-hil.igc OUTPUT=plom-st-hil.kmz TAKEOFF="Saint Hil Nord" LANDING="Lumbin" ~/bzr/misc-tools/gps2ge-cli/gps2ge.sh

En utilisant la lib curl depuis ton code php, tu peux obtenir le même résultat. Pas du webservice 2.0, mais c'est pas insurmontable non plus Sourire Après, y'a ptet une interface plus sexy, mais je l'ai jamais croisé...
Signaler au modérateur   parapente Enregistrée

raf
Rampant
*
Hors ligne Hors ligne

Aile: Dune
pratique principale: autre (?)
Messages: 0



WWW
« Répondre #2 le: 18 Mai 2010 - 19:35:43 »

hmm hmm, "remplir avec un lib genre curl" ?
j ai peur que ca depasse mes competences Pas content
moi quand c'est pas dans synaptic....

merci du coup de main, mais là je vois vraiment pas de quoi tu parles, désolé Confus

du coup, si y a une interface plus sexy Clin d'oeil
Signaler au modérateur   parapente Enregistrée
marc
G33k, option ligne de commande
Rampant
*
Hors ligne Hors ligne

Aile: Freestyle2, Aspen2, BiStromboli
pratique principale: vol / site
Messages: 0


Aime le jus de betterave ! Plouf !


« Répondre #3 le: 18 Mai 2010 - 23:17:15 »

Tu veux quoi exactement ? Un bout de code php qui fait le boulot, ou un script shell ? Ou autre ? Moi je peux t'aider sans soucis si tu me dis quoi faire très heureux

(et sinon, si je me trompe pas, tu dois être le raf du GUC, parti à l'est ? on c'était rencontré y'a qqs année, à st hil... J'avais une xray violette très heureux)
Signaler au modérateur   parapente Enregistrée

raf
Rampant
*
Hors ligne Hors ligne

Aile: Dune
pratique principale: autre (?)
Messages: 0



WWW
« Répondre #4 le: 19 Mai 2010 - 10:58:06 »

salut marc,
merci de proposer ton aide, pour le coup un bout de php me sera effectivement plus utile (les scripts shell, je sais meme pas comment ca se prononce...) Sourire

et oui, je suis bien du guc et expatrié à beyrouth (depuis maintenant bientot trois ans) : ici ca vole bien, il manque juste une ecole, mais j'y travaille http://www.paraglidinglebanon.com ouverture prevue courant juin Clin d'oeil
Signaler au modérateur   parapente Enregistrée
raf
Rampant
*
Hors ligne Hors ligne

Aile: Dune
pratique principale: autre (?)
Messages: 0



WWW
« Répondre #5 le: 24 Mai 2010 - 18:03:14 »

salut
j ai cherché trois minutes vingt quatre chez google et j'ai recopié un bout de code php auquel je ne comprends pas grand chose et qui ne donne rien :

Code:
<?php
$postfields 
= array();
$postfields["MAX_FILE_SIZE"] = "1000000";
$postfields["pilot"] = "Pilot Name";
$postfields["date"] = "12/10/2010";
$postfields["timeshift"] = "+3";
$postfields["departure"] = "takeoff name";
$postfields["arrival"] = "arrival name";
$postfields["userfile"] = "http://www.paraglidingearth.com/pgSimCompEvent/igc/event3/task3/raf.igc";
$postfields["Charts"] = "on";
$postfields["cfd"] = "off";
$postfields["Analysis"] = "off";
$postfields["choix"] = "on";

//url de la page de soumission
$url "http://trace.parawing.net/get_form_gps2ge.php";
$useragent "Mozilla/5.0";
$referer $url
 
//Initialise une session CURL
$ch curl_init($url);
//CURL options
curl_setopt($chCURLOPT_POST1);
//On poste les données du tableau $postfields
curl_setopt($chCURLOPT_POSTFIELDS$postfields);
//On définit un useragent ici Mozilla/5.0
curl_setopt($chCURLOPT_USERAGENT$useragent);
//On passe un referrer ici on passe la même page $url
curl_setopt($chCURLOPT_REFERER$referer);
//on récupère le contenu de la page de résultat de la soumission dans une chaine
curl_setopt($chCURLOPT_RETURNTRANSFER1);
// en cas de redirection (facultatif ici)
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//Page de résultats et fermeture de session
$result curl_exec($ch);
curl_close($ch);
 
//on peut faire un echo du résultat obtenu
echo $result;
?>
la page mouline pendant un bout de temps, puis s arrete en n'affichant rien (j ai pas acces a l error log d'ici)
si corriger une erreur dans le script ci dessus peut suffire et permettre de faire gagner du temps...
Signaler au modérateur   parapente Enregistrée
raf
Rampant
*
Hors ligne Hors ligne

Aile: Dune
pratique principale: autre (?)
Messages: 0



WWW
« Répondre #6 le: 24 Mai 2010 - 18:38:07 »

hmmm, code modifié :
Code:
<?php
$postfields 
= array();
$postfields["MAX_FILE_SIZE"] = "1000000";
$postfields["pilot"] = "Pilot Name";
$postfields["date"] = "24/05/2010";
$postfields["timeshift"] = "+3";
$postfields["departure"] = "takeoff name";
$postfields["arrival"] = "arrival name";
$postfields["userfile"] = "http://www.paraglidingearth.com/pgSimCompEvent/igc/event3/task3/raf.igc";
$postfields["Charts"] = "on";
$postfields["cfd"] = "off";
$postfields["Analysis"] = "off";
$postfields["choix"] = "on";

//url de la page de soumission
//ici mon annuaire (qui a un captcha donc inutile de tenter la soumission auto, c'est pour l'exemple)
$url "http://trace.parawing.net/get_form_gps2ge.php";
$useragent "Mozilla/5.0";
$referer $url
 
//Initialise une session CURL
$ch curl_init($url);
//CURL options
curl_setopt($chCURLOPT_POST1);
//On poste les données du tableau $postfields
curl_setopt($chCURLOPT_POSTFIELDS$postfields);
//On définit un useragent ici Mozilla/5.0
curl_setopt($chCURLOPT_USERAGENT$useragent);
//On passe un referrer ici on passe la même page $url
curl_setopt($chCURLOPT_REFERER$referer);
//on récupère le contenu de la page de résultat de la soumission dans une chaine
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// en cas de redirection (facultatif ici)
if (curl_setopt($chCURLOPT_FOLLOWLOCATION1)) echo "good";
//Page de résultats et fermeture de session
$result curl_exec($ch);
curl_close($ch);
 
//on peut faire un echo du résultat obtenu
//echo $result;
?>
resultat visible ici : http://www.paraglidingearth.com/pgSimCompEvent/igc2ge_autom.php
visiblement y a un petit probleme... :$
Signaler au modérateur   parapente Enregistrée
piwaille
l'(quasi)modo
Administrateur
enrouleur(se) de thermique
*****
Hors ligne Hors ligne

Aile: pure bleu/rouge
pratique principale: cross
vols: bientôt 900 vols
Messages: 158




WWW
« Répondre #7 le: 25 Mai 2010 - 09:53:52 »

 salut !

désolé si je réponds à coté de la plaque ...mais pourquoi passer par CURL ?
pourquoi ne pas faire un (simple) formulaire ... qui ne contient que le bouton ok ... les autres champs peuvent être caché en prod, de toute façon ils seront remplis lors de la génération de ta page.

après ça donne simplement :
Code:
<form method="post" action="http://trace.parawing.net/get_form_gps2ge.php" enctype="multipart/form-data">
<input type="hidden" value="1000000" name="MAX_FILE_SIZE">
<input type="hidden" maxlength="30" size="30" value="Anonymous" name="pilot">
<input type="hidden" maxlength="10" size="10" value="25/05/2010" name="date">
<input type="hidden" maxlength="3" size="3" value="+3" name="timeshift">
<input type="hidden" maxlength="30" size="30" value="takeoff name" name="departure">
...
<input type="submit" value="sors-zy moi le KMZ" name="choix">
</form>
Signaler au modérateur   parapente Enregistrée

Pas de support par MP. Utilisez http://www.parapentiste.info/forum/le-chant-du-vario-b53.0/
Citation de: Bernard Werber
"L'important n'est pas de convaincre, mais de donner à réfléchir"
marc
G33k, option ligne de commande
Rampant
*
Hors ligne Hors ligne

Aile: Freestyle2, Aspen2, BiStromboli
pratique principale: vol / site
Messages: 0


Aime le jus de betterave ! Plouf !


« Répondre #8 le: 25 Mai 2010 - 09:57:14 »

La plus grosse différence est que si tu fais un formulaire comme ça, c'est le client qui parle à parawing, et bon, pas glop de faire un POST vers un domaine différent du site sur lequel tu te balades. D'ailleurs, ça m'étonnerait pas que certains navigateurs coince un peu.
Ensuite, si le but c'est de stocker les kmz sur le serveur de pe, en passant par curl, tu t'évites un POST supplémentaire pour envoyer le kmz vers les serveur de paraglidingearth.

(raf, j'ai pas oublié, je tente de faire ce que j'ai dit rapidement)
Signaler au modérateur   parapente Enregistrée

piwaille
l'(quasi)modo
Administrateur
enrouleur(se) de thermique
*****
Hors ligne Hors ligne

Aile: pure bleu/rouge
pratique principale: cross
vols: bientôt 900 vols
Messages: 158




WWW
« Répondre #9 le: 25 Mai 2010 - 11:05:52 »

salut !

je suis entièrement d'accord que d'un point de vue sécurité c'est cradissime (j'avais même soulevé le lièvre à man's à l'époque) ...
j'ai cru que le but c'était de générer à la demande le kmz ... après effectivement le but peut être de générer le KMZ lors de la soumission de l'IGC et de stocker le KMZ sur son serveur pour avoir une réponse plus rapide (et plus respectueuse des serveurs de parawing)... auquel cas, je botte en touche Clin d'oeil je suis largement incompétent sur le sujet canap
Signaler au modérateur   parapente Enregistrée

Pas de support par MP. Utilisez http://www.parapentiste.info/forum/le-chant-du-vario-b53.0/
Citation de: Bernard Werber
"L'important n'est pas de convaincre, mais de donner à réfléchir"
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  

parapente gratuit
Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.19 | SMF © 2006, Simple Machines XHTML 1.0 Transitionnel valide ! CSS valide !
Page générée en 0.031 secondes avec 20 requêtes.