tixav Posté(e) le 17 septembre 2011 Partager Posté(e) le 17 septembre 2011 Bonjour à tous, c'est ma première fois que je créé un poste But du tuto : expliquer le moyen d'envoyer des messages PUSH (gratuit) sur un téléphone android à la place des sms (payant) Ouvrir un compte sur le site "https://notifrier.appspot.com" ou un autre fournisseur de ce genre il en existe d'autre, par contre une adresse Gmail est nécéssaire. dans profil créer une source installer l'application Notifry sur votre smartphone (juste pour info le mien est un HTC Wildfire en froyo 2.2.1) une fois cette source créée, une key vous sera fournie notez la Activer Curl dans "Panneau de configuration" -> "Services web" -> "Parametres PHP" - > "Selectionner PHP Extension" -> cocher curl coller le contenu du fichier ci dessous dans un fichier (push.php) dans un répertoire du dossier web (il faut le serveur web activé) <? /** * Notifry - PHP server push script. * * Copyright 2011 Daniel Foote * * Licensed under the Apache License, Version 2.0 (the 'License'); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an 'AS IS' BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * * This script sends the notification to the backend server for the given source. * Return codes: * 0 - Success * 1 - HTTP error * 2 - Backend error */ // Configuration. $fp = fopen("push.txt","a"); // ouverture du fichier en écriture fputs($fp, "--------------------------------------------------------------------------------------------------------------------"."\r\n" ); fputs($fp, "remote address".$_SERVER['REMOTE_ADDR']."\r\n" ); fputs($fp, "remote address".gethostbyaddr($_SERVER['REMOTE_ADDR'])."\r\n" ); $BACKEND = 'https://notifrier.appspot.com/notifry'; if( !isset($_GET["titre"]) || !isset($_GET["message"])) { fputs($fp, "erreur manque param Get \r\n"); fclose($fp); exit(); } // Prepare our parameters. $params = array(); $params['source'] = "mettre la KEY FOURNIE"; $params['message'] = $_GET["message"]; $params['title'] = $_GET["titre"]; $params['format'] = 'json'; //paramètre optionel if( isset($_GET["url"])) { $params['url'] = $_GET["url"]; } // Encode the parameters for transport. $encodedParameters = array(); foreach( $params as $key => $value ) { $encodedParameters[] = $key . "=" . urlencode($value); fputs($fp, $key . "=" . $value."\r\n" ); } $body = implode("&", $encodedParameters); // Using CURL, send the request to the server. $c = curl_init($BACKEND); //pour supprimer les messages erreur de certificat de curl curl_setopt ($c, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt ($c, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_POSTFIELDS, $body); curl_setopt($c, CURLOPT_RETURNTRANSFER, true); curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 20); $page = curl_exec($c); // Parse the result. if( $page !== FALSE ) { // The result is JSON encoded. $decoded = json_decode($page, TRUE); if( $decoded === FALSE ) { fputs($fp, 'Failed to decode server response: '.$page."\r\n"); } else { if( isset($decoded['error']) ) { fputs($fp,'Server did not accept our message: '.$decoded["error"]."\r\n"); curl_close($c); exit(2); } else { fputs($fp,'Success! Message size '.$decoded["size"]."\r\n"); } } } else { fputs($fp,"HTTP error: ".curl_error($c)."\r\n"); curl_close($c); exit(1); } curl_close($c); fclose($fp); ?> Pour info ce code provient du site énoncé ci dessus dans l'onglet API puis "standalone scripts" (qui provient de chez google) maintenant il faut activer la notification SMS, créer un fournisseur de service SMS cela vous modifiera le fichier /usr/syno/etc/synosms.conf [synosms] phone1code="33" phone2code="" phone1num="VOTRE NUM DE TEL" passwd="" phone2num="" interval="0" user="Diskstation" server="local" sms_enable="yes" [clickatell] port="443" needssl="yes" sepchar="+" template="https://api.clickatell.com/http/sendmsg?user=@@USER@@&password=@@PASS@@&api_id=3148203&to=@@PHONE@@&text=@@TEXT@@" url="https://api.clickatell.com/http/sendmsg?user=TestUser&password=TestPassword&api_id=3148203&to=886123456789&text=Hello+world" [local] port="" needssl="no" sepchar=" " template="http://localhost/cam/push.php?message=@@TEXT@@&titre=@@USER@@&url=@@PHONE@@&pass=@@PASS@@" url="http://localhost/cam/push.php?message=Hellow World&titre=1&url=2&pass=3" Ci dessus dans [local] dans url = "le chemin réel ou est placé push.php?suivi des paramètre attendus", pass=3 ne sert à rien mais le DSM a besoin de 4 paramètres pour fonctionner bien mettre Hello World dans l'url avec le parametre du contenu message En fait lorsque vous utilisez l'interface graphique du DSM pour créer un nouveau fournisseur il faut collé : urlensuite le DSM vous demande de faire correpondre les paramètres de push.php avec ceux des sms Ci-dessus template, le DSM fera correspondre TEXT avec message USER avec titre PHONE avec url PASS avec pass mais bon celui ci ne sert à rien Voilà j'espère que c'est clair et que cela vous aidera pour être informé par message PUSH de l'état de votre petit Syno Pour info cette technique fonctionne aussi avec "Surveillance Station" Pouf pas facile d'écrite un POST Cliquer ici pour voir le tutoriel 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 19 septembre 2011 Partager Posté(e) le 19 septembre 2011 je ne comprends pas trop l'intérêt, dans le mesure où sous android il y a le push mail (mais je n'ai peut-être pas compris le besoin). sur mon téléphone, avec k9 configuré en pushmail sur mon syno, je reçois les messages en push (immédiat) avec notification 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
tixav Posté(e) le 20 septembre 2011 Auteur Partager Posté(e) le 20 septembre 2011 C'est vrai j'avais pas pensé à réduire la fréquence "à l'arrivée des éléments" dans les paramètres de planification exchange du tel Peut être cela servira t-il à quelqu'un. Du coup j'ai testé une notification du syno, le message push arrive bien plus rapidement que le mail push , à suivre... 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
cricx Posté(e) le 20 septembre 2011 Partager Posté(e) le 20 septembre 2011 J'ai testé, j'envoie un mail depuis mon pc, sitôt appuyé sur le bouton envoyer, j'entends la notification sur le téléphone (moins de 1s). Je n'ai pas testé avec le push exchange, c'est du push imap. 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.