Aller au contenu

Envoie De Message Push Depuis Le Syno Vers Android


tixav

Messages recommandés

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)

  1. 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.
  2. dans profil créer une source
  3. installer l'application Notifry sur votre smartphone (juste pour info le mien est un HTC Wildfire en froyo 2.2.1)
  4. une fois cette source créée, une key vous sera fournie notez la
  5. Activer Curl dans "Panneau de configuration" -> "Services web" -> "Parametres PHP" - > "Selectionner PHP Extension" -> cocher curl
  6. 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 &#233;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&#232;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);

?>

  1. Pour info ce code provient du site énoncé ci dessus dans l'onglet API puis "standalone scripts" (qui provient de chez google)
  2. maintenant il faut activer la notification SMS, créer un fournisseur de service SMS
  3. 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"

  1. 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
  2. bien mettre Hello World dans l'url avec le parametre du contenu message
  3. 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
  4. Ci-dessus template, le DSM fera correspondre
  5. TEXT avec message
  6. USER avec titre
  7. PHONE avec url
  8. PASS avec pass mais bon celui ci ne sert à rien
  9. 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
  10. Pour info cette technique fonctionne aussi avec "Surveillance Station"
  11. Pouf pas facile d'écrite un POST blink.png

Cliquer ici pour voir le tutoriel

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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.wink.png

Du coup j'ai testé une notification du syno, le message push arrive bien plus rapidement que le mail push tongue.png , à suivre...

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.