Projet: réalisation d'un système d'alerte

dreamfab

WRInaute discret
Bonjour à tous,

Voila, j'ai un projet en tete, cela me semble réalisable, mais pas évident, et je n'est trouvé aucun exemple de script sur internet.

Concretement, j'ai un site traitant de la Bourse, http://www.VideoBourse.fr qui publie entre autres des conseils et analyses. Nous avons récement créé une nouvelle rubrique qui s'apelle "Signal Alert". Le principe: des traders publient des news très courtes, complétées d'une image, dans lesquelles ils annoncent des signaux d'achat ou de vente.

Pour que ce service soit utile, il faut que les utilisateurs soient prévenus dans l'instant de la publication d'un nouveau signal (d'une nouvelle news).

Je veux donc que lorsqu'une news soit postée, un petit son soit diffusé, et un bouton ou une image clignote.


Je pense donc pour réaliser cela, prendre un script de news déjà existant, et lui ajouter les charactéristiques décrites juste avant.


Le tout est de savoir comment faire.

Ainsi, si vous voulez m'aider, merci de me donner des idées de bons scripts de publication de news (avec partie admin) actuellement j'utilise "freenews", je sais pas si certains connaissent.

Conaissez vous une fonction php ou autre qui permet d'emetre un son à un moment ou pour une action définit.

Enfin, connaissez vous un moyen de détecter automatiquement lorsu'une news est postée, afind'émettre la sonnerie et de faire clignoter l'image à ce moment là.


Je sais que ce n'est pas évident ce que je demande là...

Merci par avance. :wink:

Fabien
 

dreamfab

WRInaute discret
lol, oué, tu pourrais, y te manquerais peut etre les traders pour publier les signaux. Quoi que, j'en sais rien tu es peut etre trader? Enfin de toute façon si tu me pique mon idée jte pirate ton site! ; ) (moi qui ne sais meme pas me débrouiller tout seul pour mettre en place un système de news ^^)
 

dreamfab

WRInaute discret
J'ai donc réfléchi un peu, l'idéal serait un script en ajax qui va intéroger ma page toute les 5 secondes pour voir si il y a une nouvelle news de poster, et losqu'il y en a une, une fonction émétant un son se déclenche, ainsi qu'une autre alternant deux image, ou affichant un gif.


Le problème c'est que je ne maitrise pas l'ajax. Je pense donc que pour commencer, je vais me diriger vers une simple iframe, qui se réactualisera toute les 5 secondes.


Voila quelques questions à ce sujet:

Quelle est la fonction php ou java script la plus appropriée pour réactualiser toutes les 5 secondes ma page (qui sera diffusée dans l'iframe) en génant le moins possible l'utilisateur et sa navigation. Voila celle à laquelle j'ai pensé pour l'instant:

"window.opener.location.reload()" en javascript
 

Axiso

WRInaute passionné
Avec Ajax c'est sans doute la meilleure solution. Mais si tu ne sais pas faire, paie quelqu'un ici pour te développer le module. Ce serait dommage de t'en priver avec du bricolage si la fonction peut apporter un nouvel intérêt à ton site.

Non, pas moi :) , y'a plein d'autres gens qui pourraient te faire ça ici.
 

serval2a

WRInaute accro
Salut, t'en as une floppée de codes qui te permettent de faire cela, y compris un bête meta refresh.
Ceci dit le plus compliqué ne sera pas de rafraichir la page mais de ne pas la faire sonner à chaque rafraichissement. ;)
Alors cookie ? Session ?
A toi de jouer.
@+
 

dreamfab

WRInaute discret
Ba un flux rss oué, après faut quand meme que le module se réactualise automatiquement, et qu'une fonction détecte s'il y a du nouveau pour déclencher l'alarme.

Sinon Axiso, à ton avis, pour la réalisation d'un tel projet, combien cela peut il me couter? Parceque c'est sur que si un dévellopeur me fait un truc tout propore en ajax pour pas chère moi je prend direct.

Quels sont les ordres de prix? 50, 100, 500 euros?
 

Axiso

WRInaute passionné
Y'en aurait p'tet pour moins d'une journée si le développeur sait ce qu'il fait. Si tu lui donnes accès à ton serveur ça simplifiera les choses, sinon il te faudra intégrer son travail.
350-400 euros peut-être. Et au moins tu obtiens rapidement ce que tu veux.

Et pense à proposer une option pour le visiteur qui ne souhaite pas entendre l'alerte sonore, ça peut vite devenir lassant :)

Essaie là, le gars semble sérieux : http://www.vrdeveloppement.com
Ou poste un nouveau sujet avec la description précise de tes besoins.
 

zeb

WRInaute accro
dreamfab a dit:
J'ai donc réfléchi un peu, l'idéal serait un script en ajax qui va intéroger ma page toute les 5 secondes pour voir si il y a une nouvelle news de poster, et losqu'il y en a une, une fonction émétant un son se déclenche, ainsi qu'une autre alternant deux image, ou affichant un gif.


Le problème c'est que je ne maitrise pas l'ajax. Je pense donc que pour commencer, je vais me diriger vers une simple iframe, qui se réactualisera toute les 5 secondes.
Toutes les 5 secondes si tu as un peut de monde en ligne tu va vite mettre ton serveur a genoux. (a moins qu'il ai des vitamines derrières)

dreamfab a dit:
Quelle est la fonction php ou java script la plus appropriée pour réactualiser toutes les 5 secondes ma page (qui sera diffusée dans l'iframe) en génant le moins possible l'utilisateur et sa navigation. Voila celle à laquelle j'ai pensé pour l'instant:

"window.opener.location.reload()" en javascript
php est côté serveur, il ne pourra rien pour toi sur le navigateur.
Javascript lui en revanche est exécuté sur ta page 'client' donc c'est OK
j'utilise un truc similaire sur un de mes sites pour renouveler les dernières news d'actu (ce truc met a jour toutes les minutes (setinterval))->

Code:
  <script language="JavaScript" type="text/javascript">
   <!--
    ajaxnews();
    setInterval("ajaxnews();",60000);

    // connexion serveur et mise a jour des news
	function ajaxnews(){
		var xhr=null;
		
		if (window.XMLHttpRequest) { 
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}

		xhr.open("GET", "http://www.tonsite.com/live/ajax/get-last-news.php", false);
		xhr.send(null);
		
		obj = document.getElementById("news");
		obj.innerHTML = xhr.responseText;
	}
	
   //-->
  </script>

dans la page concernée du dois avoir une div de ce style :

Code:
  <div class="news_tr" id="news">
  </div>

et sur ton serveur un script php capable de renvoyer l'info que tu désire diffuser. dans l'exemple précédent il est situé depuis la racine ici :

../live/ajax/get-last-news.php

ce script doit renvoyer du texte brut (pouvant comprendre du HTML) avec un charset adapté. genre :

Code:
<?php
	header('Content-type: text/html; charset=iso-8859-1');
	// code utile
	$html = "bla bla bla des sous a la pelle bla bla bla"; // le contenu de l'alerte
	echo $html; // envoie des données destinées a la div
?>

pour le son, il me semble que le bon truc serait de le renvoyer avec ton contenu d'alerte dans le code ci dessus.
Voir http://www.webdevelopersnotes.com/tips/ ... t_tip.php3

++
 

dreamfab

WRInaute discret
Alors je vous remercie tous pour vos réponses. Axiso, 350 euros ça me fait trop chère, en dernier recours je ferais peut etre ça. Sinon zeb, merci pour le code que tu ma passé, cependant je ne comprend pas tout (je ne suis pas encore assez calé pour assimiler et comprendre des codes qu'on me donne comme ça, j'ai besoin qu'on me dise ou va chaque chose...^^).


donc admettons que sur ma page A je souhaite afficher mon module "signal alert" ton premier code s'insere dans la partie "head" de ma page A c'est ça?

Ensuite a l'emplacement où je souhaite afficher mon module, donc sur ma page A, entre les balises body, je place ton seconde code (la balise <div>)

Je créé une page B que je place à la racine ou dans un répertoire sur mon serveur, dans laquelle je met un script qui doit renvoyer du texte brut (pouvant comprendre du HTML) avec un charset adapté.


Je suis sur la mauvaise piste?
 

zeb

WRInaute accro
dreamfab a dit:
donc admettons que sur ma page A je souhaite afficher mon module "signal alert" ton premier code s'insere dans la partie "head" de ma page A c'est ça?
Ok dans le head c'est pas utile met le plutôt en fond du body. (je parle du code javascript)

dreamfab a dit:
Ensuite a l'emplacement où je souhaite afficher mon module, donc sur ma page A, entre les balises body, je place ton seconde code (la balise <div>)
oui c'est cela cette div recevra ce que va renvoyer le script côté serveur appelé par la routine Ajax. c'est les lignes :

obj = document.getElementById("news");
obj.innerHTML = xhr.responseText;

qui vont faire le travail. en gros :
obj = l'élément qui porte l'id (identifiant unique) 'news'
contenu HTML de obj = reponse textuelle de l'objet xhr (objet ajax passant la demande au serveur)

dreamfab a dit:
Je créé une page B que je place à la racine ou dans un répertoire sur mon serveur, dans laquelle je met un script qui doit renvoyer du texte brut (pouvant comprendre du HTML) avec un charset adapté.
Oui sauf qu'il ne sagit pas a proprement parler d'une page mais d'un simple script php qui renvoie automatiquement le contenu que tu souhaite mettre dans la div qui porte l'id 'news' de ta page A.

Pour faire un test, crée une page A copie le code javascript dedans, et la div genre :

Code:
<html>
 <head>
  <title>test Ajax</title>
  <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />
 </head>
 <body>

  <div id="news">
   rien d'important dans news au chargement.
  </div>
 
  <script language="JavaScript" type="text/javascript">
   <!--
    setInterval("ajaxnews();",60000);

    // connexion serveur et mise a jour des news
    function ajaxnews(){
      var xhr=null;
      
      if (window.XMLHttpRequest) {
         xhr = new XMLHttpRequest();
      }
      else if (window.ActiveXObject) {
         xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }

      xhr.open("GET", "http://www.tonsite.com/get-last-news.php", false);
      xhr.send(null);
      
      obj = document.getElementById("news");
      obj.innerHTML = xhr.responseText;
    }
   
   //-->
  </script>
 </body>
</html>

Change www.tonsite.com par ce qui va bien.
et a la racine cée un fichier get-last-news.php comme suit :

Code:
<?php
   header('Content-type: text/html; charset=iso-8859-1');
   // code utile
   $html = "bla bla bla des sous a la pelle bla bla bla"; // le contenu de l'alerte
   echo $html; // envoie des données destinées a la div
?>

ensuite après upload, va sur ta page A, tu devrais voir 'rien d'important dans news au chargement.' et au bout de 60000 milisecondes (une minute donc) tu devrais voir : bla bla bla des sous a la pelle bla bla bla

CQFD derrière ce lien
 

zeb

WRInaute accro
en passant fait attention sous tes images :

publicite-bourse-petit.jpg


ce n'est pas conforme au prgm Adsense que de mettre ce genre de titre au dessus d'un Ads (incitation au clic) tu risque de te faire virer
les seuls texte autorisés sont lien commerciaux et liens sponsorisés il me semble. A vérifier sur le forum adhoc.
 

dreamfab

WRInaute discret
Merci, tu es vraiment simpa! Une aide précise et suivi, j'admire les travailleurs de l'ombre, l'ombre du forum webrankinfo notament. X D


Sinon je ne vois pas pk ce serait interdit annonces? Ce sont bien des annonces publicitaires?

Toute façon avec ce que je gagne avec adesense, je pense qu'ils voient bien que je n'incite personne a cliquer sur mes pubs, mais si jdoi changer je changerai... Qu'est ce que je suis face au réglement du dieu google moi...
 

dreamfab

WRInaute discret
Ok, donc la j'ai bien Ma page qui s'actualise toute seule toutes les soixantes secondes, et c'est un point important.

Merci beaucoup.

Cependant je ne vois toujours pas quelle fonction je pourrai utiliser pour faire du bruit quand une nouvelle news (ou alerte) est postée.

le shéma serait le suivant: toutes les minutes ma page s'actualise, quand il y a du changement : BIP BIP.
quand il n'y a pas de changement : rien ne se passe.

Si quelqu'un a une idée...

Merci par avance, encore...

; )
 

Discussions similaires

Haut