Recherche sur le blog

mercredi 29 août 2012

[Dossier] Bien connaitre Facebook, Pt. 1

Cela fait longtemps que j’avais décidé de vous parler de Facebook et des différentes fonctionnalités, mais surtout comment les utiliser à bon escient, et comment y accéder lorsqu’elles sont plutôt bien cachées. "Cachées” est un grand mot : disons qu’elles ne sont pas toujours bien placées et que l’utilisateur devra passer par plusieurs liens pour y accéder. Ce sera par exemple le cas s’il veut se désinscrire. Nous verrons aussi ensemble comment gérer la “sécurité” de ses données. Pourquoi entre guillemets, me demanderez-vous… Parce que quoi qu’il arrive, sachez que vos données pourraient être exploitées à tort par des personnes malveillantes : cela peut très bien être l’un de vos amis, ou bien un pirate dans le pire des cas.

Ce dossier sera divisé en plusieurs parties, celle-ci constituant la première, dans laquelle vous trouverez un bref résumé à propos du réseau social, ainsi que la présentation du menu de base et des différentes catégories des paramètres généraux de votre compte. Tout ça, c’est donc dans la suite (cliquez sur “Plus d’infos” ci-dessous) ! 

Partie 1 : Supprimer son compte et gérer les paramètres.
Partie 2 : Configuration de la confidentialité et gestion du journal.

mercredi 22 août 2012

[Matériel] Un clavier lavable à l’eau par Logitech

C’est la grande nouvelle qui a circulé toute la journée sur un bon nombre de sites de nouvelles technologies mais aussi dans la presse plus classique : Logitech dévoile un clavier filaire qui peut être lavé à l’eau et ce sans le rendre inutilisable pour la cause. Une nouvelle qui plaira à ceux qui sont complètement allergiques aux bactéries, mais aussi au domaine médical.

logitechs-washable-keyboard-k310-doesnt-mind-a-good-scrubbin-hits-shelves-this-month-for-40_l

Il s’agit du modèle “Washable Keyboard K310”, dont on peut déjà retrouver les caractéristiques sur le site officiel du constructeur. Les caractéristiques indiquent des touches gravées au laser et une protection contre les rayons UV, afin d’assurer que les lettres ne s’abiment pas. Le site avertit également que le périphérique peut être plongé dans l’eau jusqu’à 30 cm et que la température de l’eau doit être inférieure à 50° C.

Selon des sources telles que Clubic, ce clavier devrait être commercialisé en Europe vers le mois d’octobre, pour un prix avoisinant les 40 euros. Le site de Logitech United States permet déjà à nos amis américains de le précommander pour 39,99 $ USD.

Il n’y a plus qu’à attendre les tests en conditions réelles pour voir ce que vaut le clavier à l’utilisation.

[WM17] Bug avec les zones répétées sous Android

Notre collègue Yannick V. nous a décelé un bug dans Windev Mobile 17 version 06F170078n avec les zones répétées sous Android. Pourquoi ne pas avoir utilisé un tableau alors ? Parce que, comme il est précisé dans la documentation de l'AGL, il est impossible d'utiliser ceux-ci pour des questions de sécurité et de gestion du tactile qui ne serait pas adéquate.
 
Créer une zone répétée et la tester
 
Dans l'exemple, nous allons créer une zone répétée très simple qui contiendra un libellé. Nous allons ensuite, dans la description, définir un nouvel attribut sur le champ "Libellé" et choisir la propriété "Valeur", comme dans l'aperçu écran ci-dessous.
 
 
Dans l’onglet détail, il est important de spécifier le nombre de colonne de la zone répétée pour que les données soient affichées correctement (Il faut donc connaitre le nombre de rubriques que contient la table à afficher). N'hésitez pas à jouer sur les tailles et à tester sur différents appareils (tablettes, GSM).
 
 
Pour remplir la zone répétée, notre cher collègue a utilisé un code très simple, à placer dans une boucle par exemple. Il insère, dans chaque zone, une chaine appelée "sResultat", qui est mise à jour à chaque tour de boucle avec un ExtraitChaine sur une chaine de base (par exemple, "sBaseChaine") dont les valeurs sont séparées par des retours chariots (caractère <RC>).
 
 
Si tout va bien, voici le résultat que l'on obtient à la fois dans l'émulateur et à la fois sur un smartphone Samsung Galaxy Ace. Il ne reste plus qu'à manipuler la zone et les différents indices pour personnaliser l'affichage (couleurs, hauteur, largeur, etc).
 
 
Le bug rencontré
 
Mais venons-en au fameux problème rencontré les jours précédents. En fait, dans les versions récentes d'Android (4+), lorsqu'on se rend dans les paramètres, puis dans l'onglet "Options pour développeurs", on peut activer l'option "Forcer le rendu GPU pour les applications 2D".
 
Le fait d'activer cette option entraine le phénomène suivant : l'utilisation de l'indice sur la zone n'a pas d'effet et la valeur de chaque élément sera écrasée par l’ajout de la suivante, et ce jusqu’en fin de boucle. On se retrouve donc, dans notre exemple, avec des libellés valant "ROBERT" dans chacune des cases. Il faut donc désactiver cette option dans les paramètres du système. Ce problème s'est produit sur une tablette Asus TF101 et a été signalé au support technique gratuit de PC SOFT.
 
Merci à notre collègue Yannick V. d'avoir trouvé la source du problème. En effet, c'est en bidouillant dans les options et en essayant divers paramètres qu'il en est arrivé à cette solution. Espérons qu'un correctif soit assez rapidement mis en place. La patience est de mise...

mercredi 8 août 2012

[SQL] Nouvelle table via un SELECT INTO

Pour certains, il pourrait s’agir d’un rappel de syntaxe, pour d’autres, et ce fut mon cas, ceci est plutôt une découverte. Lorsque vous souhaitez sauvegarder rapidement le contenu d’une table sans passer par un système complexe, il vous suffit d’utiliser une requête de type SELECT … INTO … FROM.
Voici la syntaxe pouvant être utilisée :
SELECT * | champ1, champ2… champ n
INTO nouvelle_table [IN base_externe]
FROM ancienne_table
  • Possibilité de reprendre toute la table ou une partie de celles-ci.
  • La base de données externe peut être une base Access par exemple.
  • Une jointure peut être faite dans le FROM et des conditions peuvent être ajoutées dans la clause WHERE (comme s’il s’agissait d’une requête tout à fait classique).
Certaines bases de données comme MySQL ne supportent pas la copie vers une table avec cette syntaxe. Par exemple, sous cette dernière, la clause SELECT INTO existe bel et bien, mais elle permet de générer un fichier en sortie ou de stocker le résultat dans des variables. Sous DB2/400, il est impossible d’exécuter ce type de requête en mode interactif.
En revanche, cette syntaxe est applicable dans Microsoft Access, puisqu’il est possible de générer la nouvelle table dans une base externe, comme il a été détaillé ci-dessus. On retrouve également cette fonctionnalité dans PostgreSQL. Dans Oracle, il est préférable d’utiliser l’instruction CREATE TABLE x AS SELECT. 

Sources
    
MySQL Select Into Outfile

[WM17] Déploiement mise à jour HTTP sur IIS

Nous avons récemment tenté de créer une application Windev Mobile 17 pour des terminaux industriels afin de connaitre les possibilités de développement sur ces appareils, et pour ce faire nous avons utilisé un serveur IIS et deux terminaux de test sous Windows CE .net 5.0.

L’application créée, nous décidons donc de générer l’installation. Dans les options de l’assistant, nous utilisons un numéro de version par défaut avec incrémentation automatique, nous choisissons de générer un fichier “.CAB” et nous indiquons l’adresse du serveur qui contiendra les fichiers de mise à jour. Il s’agit dans notre cas du serveur ALINFV81 et nous utilisons un sous-répertoire.

formatinstall1

Nous validons l’installation. Deux fichiers sont générés : une archive de type “cabinet”, et un fichier texte dont l’extension est .WX. Petite chose étrange : le fichier .CAB généré se voit suffixé par la mention “Application Windev Mobile”. Nous renommons donc celui-ci en AS400Reader.cab, le nom original du fichier. Nous devons copier ces éléments sur le serveur.

VERSION.WX

Lorsqu’on veut accéder pour la première fois à un fichier dont l’extension n’est pas mappée sur le serveur, une erreur 403 sera renvoyée. Cela permet en fait, à la base, de protéger l’accès à certains types de fichiers qui contiendraient des données sensibles. Si on veut y accéder d’un poste client, une page “accès refusé” sera affichée, sinon si on y accède depuis le serveur, une page d’aide d’IIS s’affiche :

erreur403

Sur notre serveur où est installé IIS, nous allons donc créer un type MIME. Ceci est possible soit via le gestionnaire des services internet IIS, comme expliqué dans la base de connaissances Microsoft, soit via la ligne de commandes, comme expliqué sur la page d’aide affichée (à partir de la ligne “vérifiez que le mappage MIME est activé ou ajoutez-le (…)”.

Testons à nouveau l’URL une fois l’opération réalisée :

exploration_web

Tout est donc en place, il ne reste plus qu’à envoyer le fichier d’installation d’origine (.CAB) sur le terminal, de l’ouvrir et d’effectuer une installation classique. Ce n’est qu’au lancement de l’application que les mises à jour seront vérifiées. C’est en fait grâce à la présence de la clé  HKEY_LOCAL_MACHINE\ Software\ PC SOFT\ WINDEV Mobile\ 17.0\ APPLI\ <NomAppli> et de la valeur “UPDATE_URL”, générées sur notre terminal, que notre application pourra localiser les mises à jour, dès son lancement.

1ère tentative

Le centre de contrôle Windev Mobile installé sur le terminal grâce au Framework Windev Mobile comportait un bug qui pouvait empêcher de lister correctement les applications présentes sur l’appareil. La vérification était alors proposée en boucle. Un correctif est proposé par PC SOFT pour la version 06F170078n du logiciel. A télécharger ici : pack_fr_76638.zip. Elle doit être décompressée dans le dossier \Programmes\ de WinDev Mobile 17 ; vous devez lors de la décompression confirmer le remplacement des fichiers de mêmes noms déjà présents. Le framework doit ensuite être déployé à nouveau.

2ème tentative

La mise à jour n’est pas trouvée sur le serveur : aucun numéro de version ne s’affiche lorsqu’on a demandé à vérifier les mises à jour depuis le terminal. Cela est en fait dû à l’encodage du fichier VERSION.WX qui a été copié plus tôt sur le serveur (fichier généré avec l’archive .CAB). Il est en fait en Unicode, mais nos appareils, ou le centre de contrôle, requièrent que celui-ci soit encodé au format ANSI. Nous l’avons converti avec Notepad++, mais cela peut se faire avec le bloc-notes.

VERSION.WX

ConvertToAnsi

3ème tentative

Nous recherchons donc, une fois de plus, les mises à jour pour notre application AS400Reader. Nous la lançons donc, et répondons “Oui” lorsque la question “Voulez-vous rechercher les mises à jour” est posée. Elle recherchera également les nouvelles versions pour d’autres applications Windev Mobile qui seraient présentes sur l’appareil.

PSION1

Le centre de contrôle s’ouvre alors et affiche un message proposant la mise à jour de notre application. La taille affichée en Ko est incorrecte car, pour rappel, le fichier VERSION.WX indique “-1” dans le paramètre TAILLE (voir l’image plus haut). Nous répondons par “Oui” au message affiché.

PSION2

L’appareil fait mine de télécharger quelque chose car la LED d’activité du Wi-Fi clignote à plusieurs reprise et le terminal ralentit, comme quand on transfère un fichier par FTP sur celui-ci. Il reste alors bloqué un moment sur l’écran suivant.

PSION3

Soudain, un message assez bizarre s’affiche en mentionnant un nom de fichier complètement inconnu :File  \Temp\WDMaj.cab is not a valid Windows setup file. Ce fichier a une taille aléatoire : parfois 130 bytes, parfois plus, parfois moins, mais sans dépasser le kilo-octet. Notre fichier de mise à jour, AS400Reader.cab, n’a pas été téléchargé, et donc la mise à jour n’a pas été appliquée.

WDMAJ

Cependant, la valeur de registre comportant le numéro de version a été mise à jour. Celle-ci est également stockée dans la clé HKEY_LOCAL_MACHINE\ Software\ PC SOFT\ WINDEV Mobile\ 17.0\ APPLI\ <NomAppli>. Il faudra forcer ce numéro et remettre l’ancienne version si on veut à nouveau que le centre de contrôle détecte la mise à jour. Le logiciel TweakIt permet d’explorer la base de registre et de modifier les valeurs.

Et après ?

Nous en sommes donc restés là pour l’instant, mais nous n’abandonnons pas de sitôt. PC SOFT est au courant de ces problèmes et nous attendons leur réponse par rapport à l’erreur de la dernière tentative. Cet article sera donc complété en temps et en heure lorsque la solution aura été trouvée. Si vous avez déjà été face à ce problème, et que vous pensez connaitre la source de l’erreur, n’hésitez pas à faire par de vos commentaires dans ce billet.

Mise à jour du 22/8/2012 : PC SOFT nous a annoncé par e-mail qu’ils travaillaient actuellement sur un correctif censé corriger le problème du fichier qui ne se télécharge pas. Nous attendons actuellement les prochaines mises à jour du logiciel.

Sources

Principe détaillé d’une mise à jour HTTP (Windev Mobile) – Blogs PC SOFT