Forum des Objets Communicants et Solutions pour les Libérer...
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum des Objets Communicants et Solutions pour les Libérer...


 
AccueilAccueil  GalerieGalerie  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

 

 [Abandon] Horaires TRANSILIEN (Enocre pour Paris)

Aller en bas 
2 participants
AuteurMessage
max95
Nabz Junior
Nabz Junior
max95


Age : 44
Localisation : La Celle St Cloud
Nabaztag : Fuin
Nbr de messages : 59
Carottes : 5042

[Abandon] Horaires TRANSILIEN (Enocre pour Paris) Empty
MessageSujet: [Abandon] Horaires TRANSILIEN (Enocre pour Paris)   [Abandon] Horaires TRANSILIEN (Enocre pour Paris) Icon_minitimeJeu 12 Mar 2009 - 15:21

Histoire de ce script

Il était une fois ...

J'ai commencé ce petit sript au début juste pour moi. C'est à dire que j'avais rentrer les horaires de ma gare et le lapin me donnait les 3 prochains passage.
Alors à moins d'habiter à la celle st Cloud (78), ca ne servait pas à grand chose.

Ensuite je suis tombé sur ce site et les scripts de Phabbrrysse , FlorentBL, Grosbill pour ne citer qu'eux. A moins de faire une erreur mais ces différents scripts ne permettent pas d'avoir les horaires des transiliens, sauf en cas de perturbations (récupération des infos sur "abcdtrain"). Et c'est là que je trouve "The site" qui me permet d'avancer.

J'ai fait quelques tests sur certaines gares dont je pouvais vérifier les horaires et ça à l'air de coller. Dites moi ce que vous en pensez...
Vous trouverez le sript ici : http://g-rom.net78.net/nabaztag/horaire_train/

Il reste encore beaucoup de chose à améliorer. Par exemple il ne prend pas en compte les erreurs du site, ou l'absence de token, etc. Mais il me semble suffisamment abouti pour vous le présenter et le faire évoluer.

Peut-être que FlorenBL estimera qu'il est suffisamment bien pour l'intégrer à son script déjà très complet. Mais en attendant j'aimerai bien continuer à encore travailler dessus.

J'ai qu'une trouille c'est :
- Qu'il ne fonctionne pas du tout
- Et qu'on me dise "Bah si ça fonctionne déjà avec telle ou telle script

Dans tous les cas je me serai bien amusé à créer mon premier script.


Dernière édition par max95 le Lun 7 Déc 2009 - 11:01, édité 1 fois
Revenir en haut Aller en bas
http://g-rom.net78.net/nabaztag
max95
Nabz Junior
Nabz Junior
max95


Age : 44
Localisation : La Celle St Cloud
Nabaztag : Fuin
Nbr de messages : 59
Carottes : 5042

[Abandon] Horaires TRANSILIEN (Enocre pour Paris) Empty
MessageSujet: Re: [Abandon] Horaires TRANSILIEN (Enocre pour Paris)   [Abandon] Horaires TRANSILIEN (Enocre pour Paris) Icon_minitimeVen 13 Mar 2009 - 7:12

Il suffit que je me décide à poster mon oeuvre pour que ça ne marche plus.

En effet depuis hier soir mon lapin me raconte que des conneries.

Attendons de voir tout demême car j'ai l'impression que ca vient du site lui même. Car quand je fais une recherche directement sur le site, je n'ai qu'à cliquer sur "horaires suivants" , puis sur "Horaires précédents" pour que les horaires ne soit plus les mêmes.

...
Revenir en haut Aller en bas
http://g-rom.net78.net/nabaztag
max95
Nabz Junior
Nabz Junior
max95


Age : 44
Localisation : La Celle St Cloud
Nabaztag : Fuin
Nbr de messages : 59
Carottes : 5042

[Abandon] Horaires TRANSILIEN (Enocre pour Paris) Empty
MessageSujet: Code Source   [Abandon] Horaires TRANSILIEN (Enocre pour Paris) Icon_minitimeVen 13 Mar 2009 - 8:59

Voici le code source :

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
</head>
<body>

<h2>PAGE DE TEST</h2><br/>
<?php

//----------------------------------------------------------
// Variables lapin
//----------------------------------------------------------

$serial = $_GET['serial'];
$token = $_GET['token'];

//----------------------------------------------------------
// Variables date
//----------------------------------------------------------

$jour = date("d");
$mois = date("m");
$annee = date("Y");

$heure = date("G") + 5;
$minute = date("i");

$date = $jour .'/'. $mois .'/'.$annee;
?>
<P><h3>
Heure du serveur :
</h3><p>
<?php
echo "Bonjour ! Nous sommes le $jour/$mois/$annee et il est $heure h $minute.";

//----------------------------------------------------------
// Variables gare
//----------------------------------------------------------

$iddepart = $_GET['iddepart'];
$nomdepart = $_GET['nomdepart'];
$nomdepart = str_replace(" ", "+", $nomdepart);
$villedepart = $_GET['villedepart'];
$villedepart = str_replace(" ", "+", $villedepart);

$idarrivee = $_GET['idarrivee'];

$nomarrivee = $_GET['nomarrivee'];
$nomarrivee = str_replace(" ", "+", $nomarrivee);

$villearrivee = $_GET['villearrivee'];
$villearrivee = str_replace(" ", "+", $villearrivee);

//----------------------------------------------------------
// Sélection de la chaine de caractère
//----------------------------------------------------------
$url = 'http://transilien.navitia.com/generique/iti_3_solutions.asp?point_dep_vld=StopArea|'.$iddepart.'|'.$nomdepart.'|'.$villedepart.'||||&point_arr_vld=StopArea|'.$idarrivee.'|'.$nomarrivee.'|'.$villearrivee.'|||||&day='.$jour.'&hour='.$heure.'&minute='.$minute.'&month='.$annee.'|3&year='.$annee.'&sens=1&vitesse=66&mode=3;6;10;7;8;9;'
?><br/><?php
echo $url;
// La variable "mode" dans le lien permet de choisir les types de transport (train, rer, bus, etc...)
$var = file_get_contents($url);
//$var = file_get_contents('http://transilien.navitia.com/generique/iti_3_solutions.asp?criteria=1&day=11&hour=16&minute=39&month=2009|3&year=2009&sens=1&vitesse=66&mode=3;6;10;7;8;9;&point_dep_vld=StopArea|7633|GARE+DE+LA+CELLE+ST+CLOUD|La+Celle-Saint-Cloud|||585467%2C00|2427204%2C40|18430%3B0%3B13!18433%3B0%3B13!18432%3B0%3B13!18431%3B0%3B13!18434%3B0%3B13!&point_arr_vld=StopArea|12966|GARE+ST+LAZARE|Paris|||599152%2C02|2430757%2C14|32148%3B0%3B13!32137%3B0%3B13!32138%3B0%3B13!32127%3B0%3B13!32122%3B0%3B13!32128%3B0%3B13!32118%3B0%3B13!32115%3B0%3B13!32119%3B0%3B13!32125%3B0%3B13!32126%3B0%3B13!32112%3B0%3B13!32109%3B0%3B13!32105%3B0%3B13!32104%3B0%3B13!32106%3B0%3B13!32108%3B0%3B13!32107%3B0%3B13!32141%3B0%3B13!32139%3B0%3B13!32130%3B0%3B13!32136%3B0%3B13!32144%3B0%3B13!32147%3B0%3B13!32146%3B0%3B13!32145%3B0%3B13!32143%3B0%3B13!32114%3B0%3B13!32131%3B0%3B13!32110%3B0%3B13!32133%3B0%3B13!32111%3B0%3B13!32132%3B0%3B13!32135%3B0%3B13!32120%3B0%3B13!32124%3B0%3B13!32129%3B0%3B13!32140%3B0%3B13!32116%3B0%3B13!32121%3B0%3B13!32117%3B0%3B13!32123%3B0%3B13!32142%3B0%3B13!32113%3B0%3B13!32134%3B0%3B13!&point_dep=gare&point_arr=gare+saint+lazare&city_dep=celle+saint+cloud&city_arr=paris');
$var = strip_tags($var);
?><br/><?php
echo $var;
$toreplace1 = 'Mode(s)'; //Chaîne à remplacer
$remplacement1 = '|'; //Chaîne de remplacement
$var = str_replace($toreplace1, $remplacement1, $var);

$toreplace2 = 'Horaires suivants'; //Chaîne à remplacer
$remplacement2 = '|'; //Chaîne de remplacement
$var = str_replace($toreplace2, $remplacement2, $var);


$retpos1 = strpos($var, '|');
$retpos2 = strrpos($var, '|', 1) - $retpos1;

$var = substr($var, $retpos1, $retpos2);


//----------------------------------------------------------
// Remplacement des espaces par | pour choisir les horaires
//----------------------------------------------------------


$var = str_replace($date, '|', $var);

// echo $var;
//CR carriage return
$var = str_replace(chr(13), '', $var);
//NL new line
$var = str_replace(chr(10), '', $var);
//Touche tab
$var = str_replace(chr(9), '', $var);
$var = preg_replace ("/\t+/", "", $var);
//On supprime tout les doubles espaces
$var = preg_replace ("/\s+/", "", $var);


//----------------------------------------------------------
// Recherche des Horaires à l'aide d'une boucle
//----------------------------------------------------------
$n = 1;
$pos = 0;
$taille = strlen($var); // Taille de la chaine
$occurence = substr_count($var,':'); // Nombre de fois où apparait ":"

// echo $occurence;
while ($n <= $occurence)
{

${'retpos'.$n} = strpos($var, ':', $pos);
//${'retpos'.$n} = ${'retpos'.$n} - 2;

${'var'.$n} = substr($var, ${'retpos'.$n}-2, 5);

$pos = ${'retpos'.$n}+ 1;//Permet de se positionner après le précédent ":"

$n = $n +1;
}

//----------------------------------------------------------
// Création d'une nouvelle chaine avec que les horaires
//----------------------------------------------------------

$vardepart = "$var1 | $var3 | $var5";
$vararrivee = "$var2 | $var4 | $var6";
?>
<h3> Voici les heures récupérées sur le site transilien :</h3>
<?php
echo "Horaires de départs : $vardepart";
?><br/><?php
echo "Horaires d'arrivées : $vararrivee";

//----------------------------------------------------------
// Découpage des horaires pour une meilleure lecture
//----------------------------------------------------------

list($varheure3, $varminute3) = explode(":", $var3);
list($varheure5, $varminute5) = explode(":", $var5);

//----------------------------------------------------------
// Calcul du temps depuis le dernier passage pour "$var1" /!\ Ne fonctionne pas
//----------------------------------------------------------

//$datetemp = $heure .':'. $minute;
//$h1=strtotime($datetemp);
//$h2=strtotime($var1);
//br/>
//echo date('H:i',$h1-$h2);
//<br/>


//----------------------------------------------------------
// Jouer le jingle de la sncf
//----------------------------------------------------------

$jingle = "http://api.nabaztag.com/vl/FR/api_stream.jsp?token=".$token."&sn=".$serial."&urlList=http://clanpma.free.fr/nabaztag/sncf.mp3";
file_get_contents($jingle,false);
sleep(10);

//----------------------------------------------------------
// Texte du lapin
//----------------------------------------------------------

//$textelapin = 'Un+train+est+passé+il+y+a' .$var1. '+les+2+prochains+trains+passeront+a' .$var3. '+et' .$var5;
$textlapin = 'les+2+prochains+trains+passeront+a+' .$varheure3. '+heure+' .$varminute3.'+et+' .$varheure5. '+heure+' .$varminute5;

//----------------------------------------------------------
// Envoie du message au lapin
//----------------------------------------------------------

$url = 'http://api.nabaztag.com/vl/FR/api.jsp?token=' .$token. '&sn=' .$serial. '&ttlive=500&speed=80&voice=claire22s&tts=' .$textlapin;
?>
<h3> Le message suivant vient d'être envoyé à votre lapin :</h3><br/>
<?php
echo $url;
file_get_contents($url,false);
?>

<br/>
<P>
<a href="http://g-rom.net78.net/nabaztag/horaire_train/index.php">Page d'accueil</a>  <a href="http://g-rom.net78.net/nabaztag/horaire_train/formulaire.php">Revenir au formulaire</a>
       
</p>



</body>
</html>
Revenir en haut Aller en bas
http://g-rom.net78.net/nabaztag
Hunta_de_la_Radieuse
Frénétik Nabaztrice
Frénétik Nabaztrice
Hunta_de_la_Radieuse


Age : 47
Localisation : Anse Lapin
Nabaztag : Hunta (v2)
Nbr de messages : 3832
Carottes : 5811

[Abandon] Horaires TRANSILIEN (Enocre pour Paris) Empty
MessageSujet: Re: [Abandon] Horaires TRANSILIEN (Enocre pour Paris)   [Abandon] Horaires TRANSILIEN (Enocre pour Paris) Icon_minitimeVen 13 Mar 2009 - 15:26

Hello max95 ! yellownabzhappy
As-tu vu avec FlorentBL pour une éventuelle fusion de vos scripts ?
Merci, quoiqu'il en soit, pour ta contribution !
yellownabzsmile
Revenir en haut Aller en bas
http://www.zcripts.com/
max95
Nabz Junior
Nabz Junior
max95


Age : 44
Localisation : La Celle St Cloud
Nabaztag : Fuin
Nbr de messages : 59
Carottes : 5042

[Abandon] Horaires TRANSILIEN (Enocre pour Paris) Empty
MessageSujet: Re: [Abandon] Horaires TRANSILIEN (Enocre pour Paris)   [Abandon] Horaires TRANSILIEN (Enocre pour Paris) Icon_minitimeSam 14 Mar 2009 - 13:11

Je rencontre quelques problèmes, mais si j'arrive à tous faire fonctionner. Je serai ravi qu'il soit intégrer à son script deja plus que complet.
Revenir en haut Aller en bas
http://g-rom.net78.net/nabaztag
Contenu sponsorisé





[Abandon] Horaires TRANSILIEN (Enocre pour Paris) Empty
MessageSujet: Re: [Abandon] Horaires TRANSILIEN (Enocre pour Paris)   [Abandon] Horaires TRANSILIEN (Enocre pour Paris) Icon_minitime

Revenir en haut Aller en bas
 
[Abandon] Horaires TRANSILIEN (Enocre pour Paris)
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Changer le volume sonore de Klorophylle pour des plages horaires.
» Ztamp ou Nano:Ztag pour donner les horaires de tram en Belgique.
» lieu sur Paris pour emmener le nabaztag???,
» Manifestation à Paris pour l'environnement le 9 juin
» incompatibilité cryptage neufbox NB4-FXC-r1et nabaztag:tag

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum des Objets Communicants et Solutions pour les Libérer... :: II. Nabaztag, Karotz, mir:ror, Dal:Dal (Violet Object Operating System) :: L'univers de Nabaztag :: Archives :: API :: /dev :: J'ai fait un script, une application... Vous pouvez commenter, questionner !-
Sauter vers: