Recherche sur le blog

lundi 26 septembre 2011

[SQL] Récupérer une info dans une sous-requête

Si vous vous demandez comment récupérer une information d'une sous-requête dans la requête principale, voici une astuce (une alternative aux vues) qui a été testée sur une base de données DB2 UDB, et sur une machine IBM iSeries en version V5R3. On pourrait par exemple passer par une table intermédiaire que l'on supprimerait par la suite. Cependant il y a une syntaxe bien plus simple, que voici :
SELECT champ1, champ2,... champN 
FROM 
   TABLE (
          SELECT champ1, champ2,... champN
          FROM test
          WHERE champ2 = '...'
   ) AS tableselect
Cela permet de filtrer à nouveau des résultats, par exemple. Sur ce bon amusement et bons développements !

dimanche 25 septembre 2011

[Cloud] Solutions de stockage en ligne

Aujourd'hui, j'en suis réduit à chercher une solution de stockage adéquate et à un prix raisonnable pour toutes mes photos, suite à une mésaventure : en effet, mon disque dur externe m'a lâché il y a peu et de ce fait j'ai perdu plus de 25 Go de souvenirs. Cependant j'ai pu en récupérer une partie grâce à des proches ! Du coup je me suis posé la question : ne devrais-je pas sauvegarder mes photos sur un autre support ou bien même... en ligne ?

DROPBOX

Par la suite on m'a parlé du service Dropbox, qui est un service où l'on peut synchroniser tous les types de fichiers. C'est clair, chez eux c'est la simplicité qui prime : aucune fioriture et un site web ultra simple d'utilisation. Soit on se connecte à son espace, soit on essaie le logiciel immédiatement. En effet, le tout repose sur un programme qui s'occupe de synchroniser les fichiers de votre ordinateur vers un serveur internet. De même qu'il permet de télécharger tous les fichiers sur vos autres machines, à la maison ou au travail. Des extensions, pour les clients mail par exemple, sont également téléchargeables.

Le principe est simple : vous pouvez effectuer l'inscription depuis le site ou même depuis le logiciel. Vous disposez alors d'un compte gratuit avec un espace de 2 Go, et pour commencer à utiliser le service, on installe Dropbox sur la machine. Il va alors créer un dossier local où déposer tout le contenu à synchroniser : photos, vidéos, musique ou documents.  Deux options d'extension existent : 50 Go pour 9,99 $ par mois (ou 99,99$ par an, soit 17 % d'économies). En euro, il faudra compter 7,40 par mois ou 74 euros par an, soit 6,15 euros par mois (ce qui fait déjà moins mais cela reste quand même élevé comparé aux deux autres services qui seront présentés par après). On peut aussi tenter d'inviter des amis sur Dropbox ce qui rapporte 250 Mo par personne inscrite et ayant installé le logiciel sur son ordinateur. Tout ça dans une limite raisonnable de 8 Go supplémentaires, soit un total de 10 Go. 


Avantages 

+ Logiciel sympathique et simple d'utilisation : il synchronise et rien d'autre.
+ Des offres jusqu'à 100 go de données.
+ Un espace de stockage extensible en invitant des amis.
+ Une interface Web pour gérer son compte et ses fichiers.
+ On peut payer au mois.

Inconvénients

- On ne peut pas aller plus haut que 100 go dans les offres.
- Le logiciel est un peu encombrant en mémoire quand il synchronise.
- Il faut réussir à inviter pas mal d'amis pour avoir de l'espace en plus.
- 2 Go gratuits ? Alors que Microsoft SkyDrive + Live Mesh propose 25 Go gratuits pour tous les fichiers, dont 5 réservés aux photos.
- Des offres un peu chères face à la concurrence.

MICROSOFT SKYDRIVE

De plus en plus intéressant l'espace de stockage proposé par Microsoft. En effet, en s'inscrivant aux services Live!, on dispose d'un compte gratuit de 25 Go sur SkyDrive. On peut y mettre de tout aussi, pour autant que cela respecte les conditions d'utilisation du service (ce qui est valable aussi bien pour Dropbox que pour des services comme Picasa ou Facebook). 

Pour synchroniser les fichiers, on utilise alors Windows Live Mesh de la suite Windows Live Essentials 2011. Je n'étais pas franchement chaud à l'idée d'installer la mise à jour de Messenger qui est alors obligatoire si on souhaite utiliser Live Mesh. Et pourtant, il a bien fallu pour se donner une idée. Le principe est de nouveau très simple : on choisit les dossiers à synchroniser et le programme s'occupe de l'envoi des données. Il indique aussi l'espace restant, par exemple pour les photos. C'est là qu'on se rend compte que Microsoft a imposé une limite sur les photos : 5 Go. On se retrouve donc face à un espace de stockage de 25 Go qui ne laisse que 20% d'espace libre pour les clichés de notre vie... De nouveau on retrouve aussi une interface web qui permet de gérer les fichiers et même de créer des dossiers.


Avantages

+ Logiciel basique : il vous demande de fournir les fichiers, puis s'occupe du reste.
+ Un espace de 25 Go de base et ce gratuitement.
+ Une interface web qui permet de gérer ses fichiers.
+ Une rumeur qui court que le stockage sera illimité dans un futur... proche.
  
Inconvénients

- La suite Windows Live Essentials 2011 impose la mise à jour des logiciels existants... Dommage !
- 25 Go gratuits oui mais attention : 5 Go seulement pour les photos.
- Pas d'offres d'extension. Dans ce cas espérons que la rumeur dise vrai !

AMAZON CLOUD DRIVE

Amazon Cloud Drive est le service "in the cloud" ("dans les nuages" dans notre jargon) de la société du même nom. Oui, ceux qui vendent des bouquins, des DVDs, des CD, mais aussi de la musique en ligne et même des jeux vidéos. C'est une entreprise - américaine, précisons-le, - qui se base uniquement sur du commerce en ligne, et rien d'autre. Ils ont même sorti le Kindle, un lecteur de livres électroniques, qui malheureusement viennent petit à petit "tuer" le livre papier. C'est un grand pas pour la technologie certes mais cela coutera cher à certains distributeurs.

Comme Google, ils se sont investis dans divers domaines, comme la musique en ligne mais aussi le stockage "in the cloud", et ils proposent aux utilisateurs un compte gratuit avec 5 Go d'espace de stockage. Tout peut être stocké, dans la limite du raisonnable (c'est-à-dire conformément aux conditions d'utilisation), et même la musique achetée sur le site. Petite particularité : le calcul ne tient pas compte de la taille des fichiers multimédias achetés sur Amazon, donc le stockage de ceux-ci est illimité! Pratique si vous téléchargez de la musique via leur service. D'ailleurs, il y a même possibilité de l'écouter via un lecteur intégré à la page web.

Parmi les offres, on retrouve des plans jusqu'à 1 To. C'est plus que Dropbox, et ce à un prix plus avantageux. Le prix est au Go, ainsi 20 Go reviennent à 20 $ l'année, soit dans les environs de 15 € en arrondissant. Cela reviendrait à 1,25 € par mois. Si on prend cette fois l'offre de 50 Go, on aurait alors à débourser 50 $ (ou 37 €) pour l'année, soit près de 3,10 € sur un mois, ce qui est 2 X moins cher que l'offre de 50 Go de Dropbox. Quant à l'offre de 200 Go d'Amazon reviendrait donc à prendre l'offre de 100 Go auprès de Dropbox... Oui oui, une taille supérieure pour deux fois moins cher, n'est-ce pas merveilleux.

Qu'est-ce qu'il manque alors ? Un logiciel adéquat pour synchroniser le tout ; le plus connu reste Gladinet, mais il faudra sortir 49,99 $ (près de 37 €) du portefeuille pour l'obtenir, et à terme, sûrement plus pour rester à jour par rapport au service.


Avantages

+ Les 5 Go de base, bien sûr.
+ Des offres jusqu'à 1 To de données.
+ Stockage illimité pour la musique achetée sur Amazon.
+ Une interface web pour gérer le tout.
+ Prix au giga, 2X moins cher que Dropbox.

Inconvénients

- Un logiciel tiers payant si l'on veut synchroniser.
- Encore un petit peu loin de ce que proposent des concurrents (Google...).


Je n'avais jamais entendu parler des services de stockage de Google, sauf bien sûr de Google Docs et de Picasa Web. Et j'ai alors découvert qu'ils proposaient un espace supplémentaire partagé entre les différentes applications qu'ils fournissent aux utilisateurs. Et oh grande surprise, les prix sont hyper attractifs et bien sûr, en ce qui concerne la synchronisation de photos, on peut se servir du fameux Google Picasa 3.

De base on dispose de 1 Go de stockage. Les photos inférieures à 800x800 ne seront pas prises en compte dans le calcul de cet espace. C'est très peu je le conçois, c'est pour cela que Google affiche plusieurs offres allant des plus alléchantes aux plus folles : de 20 Go à 16 To d'espace supplémentaire. Ici, le prix n'est pas au giga, mais est bel  et bien inférieur de 4x. Alors que le compte Amazon de 200 Go revient 200 $, Google nous propose ici 20 Go à 5 $, 80 Go à 20 $ et donc 200 Go à 50 $. Si un compte de 50 Go existait, on aurait alors à débourser 12,5 $ à l'année, soit environ 9,25 €/an : on arrive alors à un peu moins de 0,80 € par mois ! C'est bien mieux.

On a alors plus d'espace pour nos documents "Google Docs" mais aussi pour nos photos, que l'on peut gérer avec Picasa, et partager sur internet avec des amis, la famille, etc. Tout ça pour un prix formidable. Que demander de mieux ? Seul petit souci : on ne peut pas directement envoyer des fichiers et les placer dans des dossiers que l'on crée. Quant aux photos, elles sont sauvegardées dans des albums.


Avantages

+ Des offres allant jusqu'à 16 To ! Il y a de quoi satisfaire un grand nombre d'utilisateurs.
+ Un logiciel pour les photos, très complet : retouche d'image, imports, etc.
+ Prix plus qu'attractifs... 

Inconvénients

- Il n'y a pas un logiciel global qui va tout gérer puisque...
- Ce n'est pas réellement un service de stockage de fichiers.
- Synchronisation de PC -> Web uniquement dans Picasa.

MINUS

Un petit nouveau a fait son apparition il y a quelque temps : minus. Il offre 10 Go d'espace gratuit et l'envoi de fichiers jusqu'à 2 Go ! C'est tout frais mais il est utile de s'y intéresser aussi de plus près. Comme on dit en anglais : "stay tuned!"

POUR TERMINER...

Fini la frustration de tout perdre en une seul fois : le stockage en ligne a un bel avenir, et on trouve diverses solutions ayant toutes des avantages, mais aussi des inconvénients qui peuvent parfois s'inverser selon la manière dont on va utiliser celles-ci. Une chose est claire : chacun peut trouver son bonheur parmi tous ces services. Google se distingue des autres par ses prix attractifs mais ne permet pas d'envoyer des fichiers autres que des photos (comme par exemple un *.PSD). 

Les plus pointilleux d'entre nous rechercheront encore plus d'informations quant à la sécurité de chacun d'eux, mais en toute honnêteté, je crois que lorsque l'on désire placer du contenu sur internet, qu'il soit protégé par mot de passe ou non, il faut prévoir l'éventualité des attaques, de vol, etc. C'est dans ce cas que les copies locales du contenu déposé refont surface. A mon sens il est important de se servir du stockage en ligne comme un simple backup de ce qu'on l'on possède, et non pas comme un espace dont on aurait confiance à 100 %. Enfin, le "cloud" devrait assurer 99,8 % de disponibilité de vos données ! A vous d'y réfléchir.

mercredi 7 septembre 2011

[WinDev] Découverte de fonctions, vol. 1

Aujourd'hui, nous allons répertorier un ensemble de fonctions, qu'elles soient utiles (lecture dans le registre, listing des champs d'une table) ou qu'elles soient secondaires, c'est-à-dire présentes pour créer de petits modules d'informations (par exemple, afficher les DLL chargées lorsqu'on affiche la fenêtre "à propos" de l'application). C'est la toute première compilation, mais elle regroupe donc des méthodes choisies au hasard... J'ai pu découvrir celles-ci au cours de mes divers développements.

Calculer un nombre au hasard (rand)
  • Utilité : faible à haute.
  • Intérêt : l'utilité peut varier selon l'utilisation.
  • Fonction : Hasard(min,max).
  • Comment ? Cette fonction, une fois appelée, renvoie une valeur située entre le minimum et le maximum donnés en paramètres à la fonction (le nombre renvoyé peut valoir l'un d'eux).
 
Récupérer la liste de DLL chargées par l'application
  • Utilité : faible.
  • Intérêt : pure information pour les utilisateurs avancés.
  • Fonction : ListeDLL().
  • Comment ? Cette fonction, une fois appelée, renvoie une liste de DLL's sous forme de chaîne de caractère. Elles sont toutes au format "répertoire complet\nom.ext" et sont séparées par un caractère de type "retour chariot" (RC). Il suffit donc de décomposer la chaîne avec la fonction "ExtraitChaine" ou avec une boucle.
 
Lister les rubriques d'une table/d'une source de données
  • Utilité : moyen.
  • Intérêt : afficher les caractéristiques des champs dans un interpréteur SQL.
  • Fonction : HListeRubrique().
  • Comment ? La fonction doit être utilisée sur un fichier : soit celui-ci se trouve dans l'analyse, soit celui-ci est créé en tant  que variable locale dans le code. Elles renvoie les rubriques avec les détails séparés par des tabulations, elles-mêmes étant séparées par des "retours chariot" (RC). On peut aussi paramétrer la fonction comme suit, lors de l'appel :
    • Nom du fichier.
    • Chemin complet vers l'analyse ".wdd" (facultatif).
    • Mot de passe de l'analyse (facultatif).
    • Options (facultatives) : par défaut, on ne récupère pas les détails précis de chacune des rubriques. Cependant, la constante "hLstDétailPlus" permet de récupérer tous les détails des rubriques (type + taille). 
 
Jouer un son dans l'application
  • Utilité : moyen.
  • Intérêt : si un opérateur scanne avec un gun, on peut émettre un son spécifique.
  • Fonction : Son().
  • Comment ? Deux paramètres peuvent être passés à la fonction, le second étant facultatif : d'abord le chemin vers le son (répertoire\fichier.ext), ensuite une constante permettant d'indiquer si le code doit continuer à s'exécuter ou si le son est bloquant, voire s'il doit être lu en boucle.
     
    Afficher une question de type "Oui/Non"
    • Utilité : haute.
    • Intérêt : afficher un choix à l'utilisateur lui demandant par exemple s'il veut sauvegarder un fichier ouvert ou les changements dans la configuration.
    • Fonction : OuiNon().
    • Comment ? Le paramètre de base de cette fonction est le texte à afficher à l'utilisateur. Avant ce paramètre, oui peut également rajouter une constante indiquant quel est le bouton qui sera sélectionné par défaut. La fonction renvoie vrai ou faux. On peut également utiliser la fonction "Dialogue".
      
     Connaître l'état d'une fenêtre du projet
    • Utilité : haute.
    • Intérêt : dans un traitement, savoir si la fenêtre a été ouverte avant d'interagir avec les champs qui se trouvent à l'intérieur de celles-ci. En effet, dans certains cas certains traitements pourraient s'effectuer avant que la fenêtre soit totalement ouverte.
    • Fonction : FenEtat().
    • Comment ? On peut tester l'état d'une fenêtre en passant en paramètre à cette fonction le nom de celle-ci. Si la fenêtre n'existe pas (non-ouverte), son état sera "Inexistant". Si celle-ci est ouverte, son état sera "Actif". Ces deux mots-clés sont utilisables en tant que constantes pour réaliser le test.
     
    Charger un fichier texte
    • Utilité : haute.
    • Intérêt : ne pas devoir écrire le code pour un chargement de fichier ligne par ligne (cependant, ne permet pas de contrôler les lignes lues ou certains caractères à un moment donné).
    • Fonction : fChargeTexte().
    • Comment ? La fonction prend en paramètre le chemin complet vers le fichier, et renvoie le texte lu, sans se soucier du format de caractères. Une chaîne vide sera renvoyée en cas d'erreur ou de fichier vide. Remarque : on peut aussi sauver du texte avec : fSauveTexte().
     
    Transformer une chaîne en un code "hash"
    • Utilité : haute.
    • Intérêt : calculer des codes "hash" pour des mots de passe par exemple.
    • Fonction : HashChaine et NumériqueVersChaine.
    • Comment ? Voici un exemple pour une chaîne que l'on veut transformer en SHA-1.

      Toutes ces fonctions sont détaillées dans la documentation de PC SOFT.

      Bon amusement !