Questions sur le html

barbudor:
Tu en es où exactement ?

Je suis perdu...

barbudor:
Tu parlais de document.write().
Et là maintenant de xxx.close().

Il n'y a aucun rapport entre les deux.

barbudor:
Que cherches tu a faire ?

Apprendre le JavaScript pour l'instant, puis l'utiliser quand j'en aurai besoin (si ça m'arrive un jour).

barbudor:
De mémoire tu ne peut fermer que quelque chose que tu as ouvert depuis je JS : un popup ou fenètre détachée. Tu ne peut pas fermer le navigateur.

Je me posais la question, et cette confirmation fait sortir self.close() de mes intérêts.

Merci barbudor, il n'y a plus que

document.writeln();

à régler. (Pour l'instant...)

Plus maintenant :
Comment afficher une icône pour une page (généralement située à gauche de l'URL et du titre) et comment la remplacer suite à un évènement (par exemple si il y a un topic comportant un message non-lu) ?

L'icone en haut a gauche est fournie par le serveur web en réponse à "GET /favicon.ico"
Par contre je ne penses pas que tu puisse la faire changer dynamiquement.

Pour des changements dynamique, mieux vaut faire dans la page elle même avec du JavaScript.
par exemple tu peux changer le src d'un tag img pour pointer vers une autre image.

  • Comment changer la source d'une image, est-ce possible d'effectuer cette manip. pour un
  • Comment dire que cette image est le logo de la page ?
  • Est-ce possible de demander à arduino.cc/forum de m'envoyer le nombre de messages non lus ? Ainsi, je met
if(nombre_de_messages_non_lus == 0) {
  mettre une image normale;
}
else {
  mettre une image aux couleurs flash;
}

Je répète : je ne vois pas comment faire changer dynamiquement l'icone de la page. L'icone est obtenue du serveur web par /favicon.ico. Il faut donc gérer cela au niveau du serveur web. Arduino ou Apache ?
mais si le navigateur ne redemande pas l'icone, elle ne changera pas.

Ce que je te propose c'est dans une page dynamique en HTML d'inclure une image <img id='icone" src="/image1.png"> et dans du Javascript de changer le src.

Obtenir le nombre de messages du forum Arduino doit être possible mais il faut gérer l'authentification et toutes les requètes nécéssaiers.

bonjour,
je pense que tu t'égare un peu beaucoup.
1- le favicon ne se change que via le server comme le dit barbudor, et encore, ca dépend du navigateur (IE étant plus récalcitrant a le changer et déjà l'afficher)
2- tu parle de code arduino
3- tu parle de Js
4- tu parle de programmation dynamique style php

pour l'iframe, tu ne pourras changer le favicon puisque c'est la page principale qui va l'envoyer dans son header.
pour le nb de messages, tu peux l'implanter dans un fichier txt en l'incrémentant à chaque message via une fonction php ou Js en ouvrant le fichier, récupérant le nb, lui ajouter 1 et réécrire dans le fichier et le fermer.
pour les messages non lus, tu peux te faire un script en shell et faire un compare du code de la page par exemple.
ca implique de charger une fois la page, la stocker, relire par la suite la page, faire le compare, si rien n'a bougé, on garde la même page en "staock", sinon on garde la nouvelle et ainsi de suite.
par exemple en comparant cette page Arduino Forum

barbudor:
Ce que je te propose c'est dans une page dynamique en HTML d'inclure une image <img id='icone" src="/image1.png"> et dans du Javascript de changer le src.

numero_744:

  • Comment changer la source d'une image, est-ce possible d'effectuer cette manip. pour un

juste en passant affiche le code de la page d'ici :wink:
tu vas y trouver déjà une réponse

	<title>Questions sur le html - Arduino Forum</title>
  <link rel="shortcut icon" type="image/x-icon" href="/favicon.png">

pour le reste, Js ou php
regarde du code de onclick de mémoire en Js

J'arrive sans problème a changer dynamiquement une image dans la page mais pas l'icone de page (celle qui apparait dans le tab)
Ca semble confirmer ma première idée qu'on en peut pas sans recharger la page.
cf le code ci-dessous

change-icon.html (677 Bytes)

icon1.png

icon2.png

tout à fait puisqu'il faut recharger le header.
onclick est comme un "formulaire" qui agit sur l'action click de la souris, donc on recharge bien le header.
mais ca ne fonctionnera pas forcément sur tous les navigateurs. ]:slight_smile:

Je ne comprend pas ta réponse : on peut ou pas ?
Comment faudrait-il changer mon code ?
Ps: je ne considere que du script client-side, pas du php où c'est facile de changer les headers.

Ma page se recharge toute les 60" et c'est lors du rechargement que j'aimerais que l'icône choisisse un lien (onLoad ?).
Pour les messages non-lus, il suffit de voir if(http://arduino.cc/forum/Themes/arduinoWide/images/english/new.gif != 0)
ou quelque chose comme ça, non ?

barbudor:
Je ne comprend pas ta réponse : on peut ou pas ?
Comment faudrait-il changer mon code ?
Ps: je ne considere que du script client-side, pas du php où c'est facile de changer les headers.

pour changer le favicon, il faut recharger la page et le header, ca peut modifier le favicon de suite comme ne rien modifier suivant le navigateur et de son cache.
donc c'est une solution qui n'est pas la meilleure à mon sens.

Le mieux est de changer une simple icone sur la page et la modifier en fonction de ce que l'on recherche a faire.

numero_744:
Ma page se recharge toute les 60" et c'est lors du rechargement que j'aimerais que l'icône choisisse un lien (onLoad ?).
Pour les messages non-lus, il suffit de voir if(http://arduino.cc/forum/Themes/arduinoWide/images/english/new.gif != 0)
ou quelque chose comme ça, non ?

Si la page se recharcge, d'où se recharge t'elle ?
Dans ce cas c'est sur le serveur qu'il faut modifier le code envoyé au browser

Avec un serveur, on peut envoyer des codes différents selon des situations analysées par lui-même, mais moi, j'en suis encore à la page html locale (Dans un dossier de mon ordinateur). J'ai déjà essayé me mettre une variable dans src qui est définie dans le JS mais firefox la prend pour un lien...

Salut, nouvelle question :
Est-ce possible d'envoyer depuis la carte seulement une redirection vers le serveur de mon mac, qui contient une page HTML avec un formulaire vers ma carte ?
Je me suis dit :
Non, si il y a des informations à recevoir de la carte, on ne peut pas les afficher en passant par un ordinateur...
JavaScript + redirection contenant des informations ?
Redirection vers une page différente selon informations à envoyer, ce qui occuperait la mémoire de mon ordinateur avec une page par possibilité ?

P.S. : Merci de répondre au questions précédentes.
P.P.S : Je ne trouve pas le dossier où mettre mes pages HTML dans mon ordinateur, si quelqu'un a déjà essayé, merci de me répondre. J'ai activé le "Partage Web personnel".

As tu regardé les exemples que j'ai mis en ligne pour toi la semaine derniere ?
Le 2nd répond a 100% a ta derniere question

PS: il me semble qu'on a déja répondu : le changement d'icône ne peut se faire qu'en modifiant la page rechargée donc pas par un script server-side. On ne peut la faire dans un fichier html chargé en file://

PPS : je ne connais pas Mac

EDIT: Correction. Faux sens. Je voulais dire que ne peut modifier la page que lors du rechargement par un script server-side.

numero_744:
Salut, nouvelle question :
Est-ce possible d'envoyer depuis la carte seulement une redirection vers le serveur de mon mac, qui contient une page HTML avec un formulaire vers ma carte ?
Je me suis dit :
Non, si il y a des informations à recevoir de la carte, on ne peut pas les afficher en passant par un ordinateur...
JavaScript + redirection contenant des informations ?
Redirection vers une page différente selon informations à envoyer, ce qui occuperait la mémoire de mon ordinateur avec une page par possibilité ?

P.S. : Merci de répondre au questions précédentes.
P.P.S : Je ne trouve pas le dossier où mettre mes pages HTML dans mon ordinateur, si quelqu'un a déjà essayé, merci de me répondre. J'ai activé le "Partage Web personnel".

je pige pas trop.
envoyer de la carte vers un server qui renvoi vers la carte?
tu veux cliquer sur un lien contenu dans un html sur ta carte pour renvoyer les infos de ton server vers ta carte?
barbudor a donné une réponse dans son script.
un lien avec une url et GET par exemple sur ta page de la carte (192.168.1.10?fenetre)
tu recupère sur ton server le mot "fenetre" qui va renvoyer sur ta carte une info par exemple via un script sur la carte pour afficher dans un iframe le resultat.

pour mac, il faut installe un server http://edu.ca.edu/installer-apache-php-et-mysql-sous

Si je comprend bien ce que tu veux :

Oui c'est faisable.
Par exemple avec Webduino, tu définit un premier handler par défaut qui va systématiquement renvoyer vers le serveur en renvoyant :

HTTP/1.1 303 See Other
Location: http://ip-de-ton-serveur

Et puis un autre handler qui traitera la requête de GET porvenant de la page hébergée sur le serveur.
Par exemple http://ip-de-ton-arduino/gettemp pour lire la température au format JSON.

Avec Webduino ca devrait donner :

char buffer[50];

void defaultCmd(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
    server.httpSeeOther("http://ip.de.ton.serveur/page-renvoyee.html");
    return;
}

void getTempCmd(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
    server.httpSuccess("application/json");
    sprintf( buffer, "{ temp:%d }", getTemperature() );
    server.write( buffer, strlen(buffer)  );
    return;
}

void setup()
{
   .... j'en passe ... je met pas tout
    webserver.setDefaultCommand(&defaultCmd);
    webserver.addCommand("gettemp",&getTempCmdCmd);
  ....
}

Mais quel intérêt de faire cela plûtot que d'ouvrir directement la page de ton serveur ?

Le seul intérêt que je voit serait si tu a plusieurs Arduino qui font la même chose, l'utilisateur se connecte à l'Arduino à laquelle il veut parler et la redirection renvoie non seulement vers le serveur qui peux héberger des pages plus grosses et plus complexes mais en précisant de quelle Arduino vient la redirection.

void defaultCmd(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
    IPAdress myIp = Ethernet.localIP();
    sprintf( buffer, "http://ip.de.ton.serveur/fromArduino?ip=%d.%d.%d.%d", myIP[0], myIP[1], myIP[2], myIP[3] );
    server.httpSeeOther("http://ip.de.ton.serveur/page-renvoyee.html");
    return;
}

Ainsi le serveur sait facilement d'où provient la redirection (bon peut être sait-il de toute façon récupérer l'adresse source de la redirection autrement mais ca me parait plus clair de la faire passer comme argument de l'URL).

Je ne sais pas si çà répond à ta question.

pour la première question, je ne sais pas si ça été dit (fénéant de lire les 4 pages) mais y a une solution assez simple avec bootstrap (de twitter)

Je craque !
Certains doivent s'intéresser seulement à la surface des choses pour les utiliser.
D'autres, comme moi, doivent entrer dans les détails et comprendre le fonctionnement interne des choses pour comprendre leur fonctionnement externe.
Il me faut des explications simples et pour qu'elles soient simples il faut que j'aie des explications sur les explications.
(Je comprends vite mais il faut m'expliquer lononononononononononononononononononononononnononononoononongtemps).

@infobarquee sur le lien : je suis venu, j'ai vu, j'ai perdu et

je suis en 10.4 et de toutes façons je n'ai pas compris où cliquer pour télécharger :

Merci de me répondre simplement et précisément.