Génération mobiles - Forum smartphones & tablettes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Génération mobiles - Forum smartphones & tablettesConnexion

Forum Android pour smartphones & tablettes Asus, HTC, Huawei, Honor, LG, Nokia, OnePlus, Samsung, Sony, Xiaomi... Retrouvez applications, astuces, aide, jeux, tutos,...

description[TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo) Empty[TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo)

more_horiz
Beaucoup souhaitent ajouter leur ville à la liste lorsqu'elle ne s'y trouve pas, pour avoir la météo.

Or cette opération n'est pas anodine et recèle plusieurs pièges, notamment parce qu'il existe une corrélation intime entre la météo, l'heure et le fuseau horaire... Tout simplement parce que ces informations sont contenues dans la même base de données.

Or les outils permettant d'ajouter ou de modifier des villes pour la météo font l'impasse sur le reste, ce qui conduit à de gros problèmes d'heure et parfois de synchro avec Outlook.

Le problème étant principalement que pour obtenir que la météo du lieu choisi s'affiche aussi sur le calendrier et sur S2U2, par exemple, il faut impérativement que la ville en question soit définie comme votre localité de base.

Or si vous faites ça, il faut impérativement qu'elle soit définie dans les règles, sans quoi vous allez avoir des déboires considérables avec la date et l'heure !



Il va de soi que si vous conservez une localité générique pour l'heure (exemple : "GMT+1 Paris, Madrid") et que vous ne faites qu'ajouter votre ville dans la liste pour la météo, le problème est amoindri (l'heure pourra ne pas être exacte, mais si seule la météo vous intéresse, alors les outils habituels sont suffisants). En revanche, vous n'aurez pas votre météo locale ailleurs que dans l'onglet "Météo" du TF3D.



Comment faut-il faire, alors ?

Il faut modifier la base de données dans les règles, et le faire de manière complète et exhaustive.

Tout d'abord, bien sûr, il faut que votre localité possède un code météo international reconnu (sinon ça n'a pas de sens), ou à défaut, une ville voisine plus importante qui figure dans la liste : vous aurez besoin du code correspondant (et c'est cette ville qu'il faudra définir, quitte à utiliser le nom de la vôtre à la place le cas échéant : ça, ça ne pose pas de problème).

Rendez vous sur :

http://www.accuweather.com/world-index.asp

Et choisissez votre zone géographique, votre pays, votre ville. Un bulletin météo s'affichera alors, et dans la barre d'adresse, vous reconnaîtrez le code météo au bout de la ligne : il ne reste plus qu'à le copier dans le presse-papier. Wink



Ensuite, il faut vous procurer l'outil adéquat et le fichier à modifier.

Mode d'emploi :

1) Télécharger et décompresser SQL Lite Admin, qu'on trouve ici : http://sqliteadmin.orbmu2k.de/

2) Extraire du dossier \Windows du HD le fichier 2330fc3c_manila, le copier sur votre PC et enlever le cas échéant les attributs "système", "caché" et "lecture seule" (sous DOS, avec la commande attrib : attrib -S -H -R 2330fc3c_manila)

3) Lancer sqliteadmin.exe et ouvrir le fichier 2330fc3c_manila qui est en fait une base de données SQL

4) Ajouter un enregistrement en fin de fichier (les index sont gérés automatiquement) dans la table "Cities" avec l'onglet "Données", en veillant à remplir complètement tous les champs (voir plus bas), au moyen du bouton "+"

5) Cliquer sur le bouton "Post" (symbolisé par une coche) afin d'enregistrer votre modification, puis quitter SQL Lite Admin

6) Remettre éventuellement les attributs originaux du fichier (attrib +S +H +R 2330fc3c_manila) et le recopier sur le HD (dans un dossier temporaire, puis utiliser Total Commander pour le remettre à sa place dans le dossier \Windows).




Comment remplir correctement une ligne dans la base de données :

id > le n° dans la liste. Il suffit de prendre le dernier n° +1...

cityName > Le nom de la ville. Attention, certaines bases de données sont entrées sans les accents : respectez cette disposition. Sinon, ils sont stockés en Unicode ou en UTF8 (à vrai dire, je n'ai pas eu le temps d'identifier le type de codage, mais enfin, ça se voit tout de suite au charabia qui vient en lieu et place des minuscules accentuées Very Happy)

region > a priori, ce champ n'est pas renseigné, donc à laisser vide

state > en dehors des USA et du Canada, on s'en tape... On laisse vide aussi

country > indiquez votre pays, initiales en majuscules, accents comme tout à l'heure. Hum, en fait, c'est même encore plus méchant que ça : le pays doit être orthographié exactement comme dans la table "Countries" si elle est présente dans votre fichier (il existe deux versions selon les ROM, avec et sans), donc je vous conseille vivement un copier-coller.

latitude > pas renseignée, à laisser à 0

longitude > idem, à 0

accuweatherCode > copier-coller ici le code AccuWeather, intégralement, tel quel (avec les "|" et tout le fourbi)

timezone > heure légale, voir note (1) ci dessous

msid > code de fuseau horaire, voir note (2) ci dessous



Les deux derniers champs sont les plus importants, et ce sont justement ceux qui sont habituellement négligés !

Voici comment les renseigner :



(1) heure légale :

Il s'agit de l'heure locale hors heure d'été, donc l'heure d'hiver, exprimée en décalage par rapport à l'heure GMT. Les Américains se considérant comme toujours au centre de l'Univers, ils ont inversé le décalage habituel, en se comptant eux-mêmes en positif, les fuseaux horaires en avance sur GMT étant comptés en négatif !

Par aileurs, étant donné qu'il existe des fuseaux horaires avec des 1/2 heures de décalage, l'information est exprimée en minutes (en minutes de retard, très précisément, ce qui donne des nombres négatifs pour les localités en avance sur l'heure GMT), de la manière suivante :

Heure légale = - décalage horaire x 60

Par exemple, la France est sur le fuseau horaire de Londres, donc GMT. mais en France et en Espagne, l'heure légale avance d'une heure sur l'heure solaire réelle (deux heures en été), donc le fuseau horaire légal officiel en France est GMT+1.

Ce qui se traduit ici par -60



(2) code de fuseau horaire :

Il contient manifestement des informations relatives à l'heure d'été, puisque cette information ne figure en clair nulle part ailleurs.

Il s'agit d'un code faisant référence à une clé de la base de registre Windows, contenant un fatras de codes hexadécimaux (variable de type REG_BINARY).

Ce code numérique est précisément le nom de la clé correspondante, que vous trouvez dans le registre à l'emplacement suivant :

\HKEY_LOCAL_MACHINE\Software\Microsoft\Timezones\

Si nous continuons avec l'exemple d'une localité française, il faudra inscrire la valeur 105 dans ce champ (c'est très important).

Elle correspond bien entendu à la clé de registre :

\HKEY_LOCAL_MACHINE\Software\Microsoft\Timezones\105\

Contenant la variable TZI, contenant elle-même le foutoir binaire adéquat.



Maintenant, supposons que vous résidiez quelque part ailleurs (c'est mon cas), que vous trouviez le code météo, que vous calculiez l'heure locale légale ; il vous reste à trouver le bon code fuseau horaire (TZI), par exemple par analogie avec d'autres villes, et à compléter la fiche.

Seulement, il arrive parfois que la clé de registre n'existe pas dans le HD !

Pas d'affolement. Il suffit de l'importer depuis votre propre PC et de l'ajouter dans le registre. smile

Il faudra effectuer un copier-coller de la suite de nombres dans un fichier texte, le passer au HD, et refaire un copier-coller depuis l'éditeur de registre sur le HD, car ces clés occupent des emplacements différents sous un Windows classique.

Sur le PC (Windows XP, par exemple), Vous trouverez vos informations ici :

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\

A cet emplacement se trouvent une multitude de clés portant des noms explicites : par exemple, le mien est Central Pacific Standard Time\ et contient les variables :

Display (REG_SZ) = (GMT+11:00) Magadan, Les Îles Salomon, Nouvelle Calédonie
Index (REG_DWORD) = 280
MapID (REG_SZ) = 22,23
Std (REG_SZ) = Pacifique Centre
TZI (REG_BINARY) = 6c,fd,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Mon champ timezone doit contenir -660 et msid doit contenir 280.

Celui de la France est \Romance Standard Time et contient les variables :

Display (REG_SZ) = (GMT+01:00) Bruxelles, Copenhague, Madrid, Paris
Index (REG_DWORD) = 105
MapID (REG_SZ) = -1,64
Std (REG_SZ) = Paris, Madrid
TZI (REG_BINARY) = c4,ff,ff,ff,00,00,00,00,c4,ff,ff,ff,00,00,0a,00,00,00,05,00,03,00,00,00,00,00,00,00,00,00,03,00,00,00,05,00,02,00,00,00,00,00,00,00

On retrouve ici le code de la zone (105 pour la France), qui correspond à la clé de même nom (\105 pour la France) sur le HD, et qui contient la variable TZI qui peut être recopiée à l'identique en cas d'absence.



Bien entendu, le fuseau horaire GMT+1 existe déjà dans le registre du HD... Mais le GMT+11 (code 280) n'y était pas, et j'ai dû l'ajouter manuellement.

De plus, tant le décalage horaire (timezone) que le fuseau horaire (msid) étaient faux pour ma ville, et j'ai dû les rectifier pour que le téléphone soit à l'heure et affiche correctement les autres villes de l'horloge mondiale ! Pire, l'heure changeait toute seule à chaque synchronisation par ActiveSync, puisque le PC tentait de le remettre dans l'axe...

Le problème est connu, et intervient à chaque fois qu'une ville est mal paramétrée. Vous savez maintenant ce qui vous attend si vous négligez de remplir correctement ce fichier ! En effet, il vous collera directement en GMT par défaut et vous n'arriverez jamais à mettre votre téléphone à l'heure ! Wink

description[TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo) EmptyRe: [TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo)

more_horiz
salut Z80,
je ressors ça des bas fonds ;-)
c'est vrai pour un WM 6.5 ça ? j'ai AUCUN timezone pour ma part ! et le changement en heure d'été m'a tué ;-)
++

description[TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo) EmptyRe: [TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo)

more_horiz
Après avoir pu étudier une ROM en 6.5, les différences avec la 6.1 sont finalement asez mineures.

Habituellement, Microsoft se repose entièrement sur ces informations dans le registre.

La table externe n'est utilisé que par les logiciels HTC, pour les fonctions étendues (horloges internationales, météo, etc.)

description[TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo) EmptyRe: [TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo)

more_horiz
Bonsoir,

Merci pour ces explications très claires et très techniques aussi...
J'avais bien remarqué que le fuseau horaire était très important...

Et j'ai trouvé sur xda le soft Weather City Editor by JVH3 en version 3.4 qui prend en compte TF3D & Sense des versions 2.1 jusqu'à 2.5.
Cet outil intègre le fuseau horaire (TZ) et le msid... qu'il déduit du fuseau apparemment, puisqu'on ne peut pas le saisir.

Lien ici : http://forum.xda-developers.com/showthread.php?t=546141&highlight=Weather+city+editor+jvh3

Apparemment c'est même passé en v3.5 mais non testé.
Cordialement.

description[TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo) EmptyRe: [TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo)

more_horiz
En fait, il y a des erreurs dans la table des villes et des fuseaux horaires.

J'ai dû la corriger à la main avec un éditeur SQL lite...

description[TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo) EmptyRe: [TUTO] Ajouter correctement une ville (heure, fuseau horaire, météo)

more_horiz
A la demande des utilisateurs, je mets ici les liens pour trouver les codes de balises météo et aéronavales pour ajouter votre ville dans la base de données (si elle existe, sinon, prenez simplement la balise la plus proche) :

A noter qu'Accuweather cache désormais l'information sur son site grand public (y compris dans le lien web de la page consultée)



Topic XDA avec plein d'informations intéressantes (liens à partir de la page 2) :

http://forum.xda-developers.com/showthread.php?t=371350

Liens vers des listes de codes de stations météo à télécharger sur la FAQ d'Accuweather (tout en bas de la page) :

http://wwwa.accuweather.com/phoenix2/help/adc/pr_aviation.htm
privacy_tip Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
power_settings_newSe connecter pour répondre