Recherche sur le blog

vendredi 26 décembre 2014

[Jeux vidéo] Xbox Live & PSN inaccessibles à Noël

Si vous n'avez pas pu jouer en ligne le jour de Noël, il semblerait que cela soit dû à une attaque DDoS. Le groupe de hackers Lizard Squad a d'ailleurs revendiqué celle-ci. Dommage pour ceux qui venaient de déballer leur cadeau tout beau tout propre et qui malheureusement n'ont pas pu en profiter. A l'heure actuelle les services en ligne de Sony et Microsoft rencontrent encore quelques difficultés mais cela devrait bientôt être rentré dans l'ordre.


Sources

jeudi 25 décembre 2014

[Info] Joyeuses fêtes de fin d'année

Je profite de ce petit jour férié pour vous souhaiter de joyeuses fêtes de fin d'année. Vous êtes de plus en plus nombreux à visiter mon blog et ça, c'est super motivant ! Profitez bien et attention à ne pas rouler sous les tables en fin de repas...



mardi 23 décembre 2014

[SQL] Mémo - Modifier le type d'une colonne

Pour modifier le type d'une colonne dans une table DB2/400, vous pouvez utiliser la syntaxe ALTER TABLE ... ALTER COLUMN. Il faudra cependant spécifier une clause supplémentaire : SET DATA TYPE. Cela vous permettra de changer la taille par exemple, ou bien passer d'un entier sur 4 octets à un entier sur 8. Exemple : 
ALTER COLUMN biblio.table ALTER COLUMN email 
SET DATA TYPE varchar(50);
Dans cet exemple nous modifions la colonne qui contient l'e-mail en indiquant qu'on souhaite une chaine de caractères à taille variable d'un maximum de 50 caractères. Dans SQL Server, cela donnerait quelque chose comme ceci : 
ALTER COLUMN schema.table ALTER COLUMN email varchar(50);
Et dans Oracle ou même MySQL :
ALTER COLUMN schema.table MODIFIY COLUMN email varchar(50);
Bon développement !

jeudi 18 décembre 2014

[Astuces] Récupérer une image Windows 8.1

Avec Windows 8.1 il est possible de créer et de restaurer une image de votre disque dur. La première étape consiste à générer cette image et à la sauvegarder sur un support (DVD, périphérique externe USB, ou partage réseau). Windows sauvegardera tous les éléments du disque et même la structure des partitions. Voilà pourquoi on appelle cela une "image" puisque il s'agit d'une copie complète. La seconde étape consiste à créer un support de récupération, qui va proposer tous les outils nécessaires pour restaurer l'image. Il faudra donc démarrer sur ce support, qui sera obligatoirement une clé USB, afin d'effectuer l'opération de restauration.

Étape 1 - Créer une image système

Préparez quelques DVD ou bien un disque dur externe. Nous vous recommandons d'utiliser un périphérique externe car l'image risque de consommer beaucoup d'espace, en fonction de la quantité de données et des programmes présents sur votre ordinateur. Vous pouvez également utiliser un emplacement réseau si vous êtes en entreprise et que vous prévoyez de sauvegarder vos images sur un serveur spécifique.

Pour créer une image système, il faut se rendre dans le panneau de configuration (ex : via le raccourci Windows+X puis option "Panneau de configuration"), puis "Historique des fichiers". En bas à gauche, choisissez "Sauvegarde d'image système".


Ensuite, sélectionnez le support de votre choix (disque externe, DVD ou réseau). Nous décidons de créer l'image sur un disque externe. Celle-ci sera créée à la racine dans un sous-répertoire "WindowsImageBackup". Rien ne sera effacé lors de cette procédure : on peut donc effectuer des sauvegardes de plusieurs machines. Les images sont "triées" par nom de PC et par date.


Cliquez sur "Suivant" pour continuer. L'écran suivant vous indique quelles seront les partitions sauvegardées. Par défaut on a donc "System" et "C:\". Windows vous indique aussi l'espace nécessaire à la sauvegarde avant de la créer. Lorsque vous êtes prêts, cliquez simplement sur le bouton "Démarrer la sauvegarde".

Étape 2 - Créer un lecteur de récupération

Également depuis le panneau de configuration, option Historique des fichiers, choisissez cette fois la tâche Récupération en bas à gauche. On voit alors apparaitre trois choix différents mais c'est le premier qui nous intéresse, à savoir "Créer un lecteur de récupération".


Vous allez devoir vous munir d'une clé USB. Assurez-vous que celle-ci ait une taille suffisante (minimum 512 Mo). Il n'est plus possible d'utiliser des CD pour cette opération. Branchez votre clé, attendez que Windows la détecte, puis cliquez sur le bouton "Suivant".


Windows va détecter votre clé, et vous demander de sélectionner le lecteur. Choisissez celui qui correspond à votre clé puis cliquez sur "Suivant". Attention, toutes les données de la clé seront supprimées donc il est important de bien sauvegarder les données qui s'y trouvent avant qu'elle ne soit formatée. L'avertissement est assez clair. Cliquez sur "Créer" lorsque vous êtes prêts.


La vitesse de création dépendra du port USB et de la vitesse d'écriture de votre clé. Cela ne nécessite normalement pas plus de 5 minutes. Cette clé contient des utilitaires de restauration et vous permet notamment de lancer une invite de commandes ou de forcer un démarrage en mode sans échec. Dans notre cas elle nous servira à restaurer l'image sauvegardée sur le disque dur externe. C'est la prochaine étape de ce tutoriel.

Étape 3 - Restauration de l'image système

Il va falloir configurer votre PC pour permettre de démarrer sur une clé USB. Sur certains PC de fabricants comme Lenovo ou Asus, l'accès au BIOS est parfois difficile et configurer le périphérique de démarrage se révèle parfois fastidieux. Certains ordinateurs portables permettent de choisir cela via un menu au démarrage. C'est le cas de HP : il suffit d'appuyer sur la touche ESC puis F9 pour obtenir une liste des périphériques branchés. Si vous achetez vous-mêmes vos composants, vous ne devriez pas avoir trop de difficultés à accéder à la configuration du BIOS. Ce guide peut vous aider dans cette tâche parfois compliquée : guide d'auto-défense numérique - démarrer sur un CD, DVD ou une clé USB.
Profitez-en pour brancher votre disque dur externe, qui contient l'image (ou les) système, ou insérez le DVD adéquat si vous avez opté pour cette option. Notez qu'il sera également possible de chercher sur le réseau, ce qui peut être intéressant si vous avez un serveur (personnel ou non) qui regroupe toutes les sauvegardes de vos machines.
Si vous réussissez à démarrer sur la clé USB, vous devriez obtenir le logo de démarrage Windows puis un écran vous demandant de choisir la disposition du clavier. Utilisez le clavier ou la souris pour effectuer votre choix. Après avoir sélectionné la bonne langue, vous devriez voir apparaitre l'écran suivant : nous choisissons tout d'abord "Troubleshoot".


Ensuite, choisissez "Advanced options" puis "System Image Recovery". Cela aura pour effet d'ouvrir une nouvelle fenêtre. L'utilitaire va tenter de localiser l'image la plus récente sur le ou les périphérique(s) branché(s). (S'il ne trouve rien, il vous permettra d'aller à l'étape suivante et d'éventuellement rechercher sur le réseau ou à un emplacement en particulier). Si plusieurs images sont présentes sur le média, choisissez "Select a system image", sinon cliquez directement sur "Next".


Si vous avez choisi "Select a system image", toutes les sauvegardes seront listées sur l'écran suivant. Choisissez celle qui correspond puis cliquez sur "Next" jusqu'à tomber sur l'écran "Choose additional restore options".


Cochez bien la case "Format and repartition disks". Si vous avez laissé la clé USB ou un autre disque amovible branché à votre ordinateur, il faudra passer par l'option "Exclude disks" et cocher tout ce qui ne doit PAS être formaté. Le disque dur qui contient l'image est automatiquement exclu.  Cliquez sur "Next" pour passer à l'écran de confirmation. Choisissez "Finish" pour démarrer la restauration.

Et voilà, vous savez comment restaurer une image système !

vendredi 5 décembre 2014

[WD20] Découverte de la préversion

Windev 20 est désormais disponible en préversion. Il s’agit donc d’une version de tests qui n’est pas destinée à déployer des applications en production. Elle est distribuée dans le but de découvrir les nouvelles fonctionnalités présentées dans les brochures et lors du Tour de France Technique. C’est aussi un moyen pour les utilisateurs de déceler les bugs et de transmettre des informations utiles aux développeurs de PC SOFT. On retrouve sur le site web les 3 éditeurs en téléchargement, à savoir Windev, Webdev et Windev Mobile. L’installateur fourni permet d’installer soit la version 32 bits, soit 64 bits. Notez que le cours d’autoformation n’est pas encore disponible, ni les interfaces des langages externes.

Lorsqu’on lance Windev, la première chose que l’on constate c’est que l’interface n’a pas vraiment changé. On retrouve toujours le bandeau ainsi l’explorateur de projets sur la droite en mode avancé. On notera tout de même la refonte de l’assistant de création et ouverture de projet qui propose une ergonomie plus poussée. Il affiche uniquement les 4 options de base « Créer un projet », « Ouvrir un projet », « Ouvrir un exemple » et « Cours d’autoformation ». Le fait de cliquer sur un élément agrandit alors la fenêtre – avec une jolie petite animation – en proposant davantage d’options comme on peut le voir sur l’image ci-dessous.


Pour mieux percevoir les changements, il est intéressant de mettre côte-à-côte l’assistant des deux dernières versions de l’AGL. On peut voir ici une volonté de moderniser le tout. Ce look bien plus sobre s'est bien éloigné du design très coloré de la version 12 et de ses plages ensoleillées. L'excentricité fait de plus en plus place à quelque chose de plus soigné et de plus sérieux. On ne peut que féliciter ce choix.
  

Créons maintenant un nouveau projet pour découvrir les nouveautés de l’éditeur de fenêtres tout d’abord. L’assistant ne change pas. Cependant on peut voir l’arrivée de 2 nouveaux gabarits : Activ Fox, qui propose un mélange de couleurs orange, gris et bleu, ainsi que Activ Android 5, qui lui propose un ensemble de nuances turquoise.
  
L’éditeur de fenêtres
      
L’une des premières nouveautés, c’est le déplacement et le redimensionnement des groupes de champs. Dans l’exemple qui suit, nous avons créé deux boutons qui sont positionnés l’un au dessus de l’autre. Si vous les sélectionnez et que vous maintenez la touche CTRL tout en redimensionnant l’un des deux champs, vous constaterez que l’agrandissement est automatiquement effectué sur chacun d’entre eux. Le comportement est différent quand on sélectionne deux champs de type différent : lorsque le premier est redimensionné, le second est poussé dans la direction choisie.
     

Autre changement : l’onglet « Alignement » du bandeau propose de nouvelles options pour positionner vos champs ou vos groupes de champs. Par exemple, il est possible de positionner un champ le plus en haut possible puis le plus à gauche, tout en tenant compte des éléments déjà présents dans la fenêtre. Idem pour étendre un champ en largeur ou en hauteur : une chose est certaine, cela va rendre l’alignement des champs bien plus intuitif. 


Une autre nouveauté majeure concerne la navigation entre les champs avec la touche « TAB » (tabulation).  Si vous avez la flemme de définir l’ordre des champs dans votre fenêtre, surtout si celle-ci en possède un tas, vous pouvez demander à ce que l’ordre soit calculé automatiquement en fonction de la position des champs. Il s’agit d’une case à cocher dans l’option « Navigation » de l’onglet « Fenêtre ». Cependant on s’en doute l’ordre ne sera pas toujours celui qu’on souhaite, dans ce cas il faudra repasser en mode manuel.
   
  
On peut constater quelques petits bugs dans les nouveaux gabarits. Par exemple, lorsque vous activez les fonctionnalités d’onglets MDI dynamiques, un bouton « + » apparait à droite des onglets (si vous permettez l’ajout). L’image de ce bouton est répétée à l’infini tant que ce bouton n’est pas collé au bord droit du champ. Ce cas a été constaté sur le gabarit Activ Android 5. Ce n’est pas tellement gênant en soi mais autant le signaler tout de suite.
    
Les améliorations de l’interface
    
On pourra constater un petit changement graphique dans l’éditeur de code. Rien de bien exceptionnel, cela dit. Mais ce dont il faut parler c’est des éléments détachables de l’éditeur. Lorsqu’une fenêtre, une requête ou un bout de code est ouvert, il est désormais possible de l’afficher sous forme de fenêtre, à l’image des onglets détachables. Pour cela maintenez le clic gauche enfoncé et déplacez l’élément souhaité, comme sur l’image ci-dessous. Relâchez le clic et une fenêtre apparaitra. Vous pouvez dès lors l’ancrer comme toutes les autres fenêtres, la déplacer sur l’un de vos autres écrans ou bien tout simplement la réintégrer en la déplaçant dans la zone principale de l’éditeur. Petit souci rencontré : lorsque tous les éléments détachés sont replacés au sein de la fenêtre principale de Windev, il arrive que ce dernier soit minimisé.
      

A première vue pas d’amélioration au niveau de l’éditeur du système d’aide. Pire encore, certains bugs ne semblent pas avoir été résolus. Par exemple, les styles de la liste déroulante apparaissent toujours en double ou en triple, la plupart du temps. Le choix du style entraine encore des drôles de comportement : « texte normal » fait apparaitre le texte en 18. Autre problème : il est parfois impossible de renommer une page d’aide ou un livret directement depuis l’arborescence. On ne sait pour quelle raison la touche F2 ou « Renommer » n’active parfois pas la saisie comme il le faudrait. Il faut alors passer par les propriétés… Espérons que tout ça soit résolu dans la release finale.
     

Finalement l’interface globale a reçu peu d’améliorations réellement visibles. Il reste par ailleurs ou trois petits bugs qui étaient déjà présents dans la version 19. Cette nouvelle édition de Windev apporte surtout son lot de nouveaux champs et de nouvelles fonctions, mais également le support des nouvelles technologies (telles que Windows 10, iOS 8, Android 5, et les standards Web récents). Il y a bien sûr des choses sur lesquelles nous reviendrons, comme le debugger, le champ Carte, le MVC, les fonctions SSH, et bien plus encore.

mercredi 3 décembre 2014

[WD19] Utiliser l'API Exchange Web Services (III)

Avec EWS Managed API 2.0, il est possible de réaliser des choses vraiment intéressantes. Il serait clairement plus simple de travailler directement en .NET mais nous allons voir ensemble ce qu'il est possible de faire dans Windev. Dans ce nouvel exemple nous allons récupérer la liste de dossiers à partir d'un dossier source.

Récupérer une liste de dossiers

N'oubliez pas qu'avant de récupérer une liste de dossiers vous devez au préalable récupérer l'URL du service Web. Nous avons vu ensemble comment réaliser cette opération dans les précédents articles. Si vous ne savez plus comment faire, suivez le lien : voir partie 1.


La première étape consiste à initialiser la vue et un filtre de recherche. Il faut tout d'abord déclarer les différentes variables, des types suivants : FindItemResults, FolderView, et SearchFilter. Ces deux dernières doivent être initialisées à la valeur Null. On peut aussi déclarer des entiers qui serviront de compteurs.

Ensuite, voici ce que nous avons réalisé : 
  • Création d'un filtre avec l'initialisation de la variable "scFilt" (qui est notre filtre de recherche). On l'instancie avec new SearchFilter.IsGreaterThan(). Les paramètres sont, dans l'ordre, la constante FolderSchema.TotalCount et 0. Cela permettra d'obtenir les dossiers qui contiennent un ou plusieurs objets.
  • Initialisation de la vue : new FolderView(TAILLE, OFFSET). Comme pour récupérer des e-mails, nous spécifions une taille (dite "de page") et éventuellement un offset si la recherche retourne de multiples éléments.
  • Dans la vue, on doit définir l'ensemble des propriétés à récupérer. Il faut donc alimenter le contenu de la propriété View.PropertySet. Remarquez que cela est réalisé en deux étapes car les constructeurs requièrent des collections d'objet, chose qui n'est pas forcément pratique à mettre en place.
    • new PropertySet(BasePropertySet.IdOnly).
    • vi.PropertySet.Add(xxxx) : ajouter d'autres propriétés qu'on souhaite récupérer et lire (comme FolderSchema.DisplayName pour le nom ou FolderSchema.FolderClass pour la classe du dossier - ex : "IPF.Note" pour les mails).
  • Méthode de recherche : avec les dossiers il est possible d'aller plus loin et donc de rechercher les sous-dossiers de manière récursive. La propriété Traversal de notre vue peut être initialisée avec la constante FolderTraversal.Deep. Dans notre code d'exemple cela donne tout simplement la syntaxe suivante : vi.Traversal = FolderTraversal.Deep.
    
Notre filtre et notre vue sont désormais prêts, on peut passer à l'étape suivante.


Dans une boucle où l'on teste qu'il reste des éléments, nous récupérons à chaque fois jusqu'à 10 objets, en modifiant à chaque fois l'offset dans la vue. Le principe est le même que pour récupérer les e-mails. Dans cette étape on a donc réalisé les opérations suivantes : 
  • Tester la variable bMoreItems. Si elle vaut "true" on continue à traiter les éléments.
  • Initialiser notre variable de type FindItemResults cette fois avec la méthode ExchangeService.FindFolders(). 3 paramètres doivent être donnés à la fonction : le dossier à partir duquel on souhaite effectuer la recherche (ex : WellKnownFolderName.Root), le filtre (dans notre exemple il s'agit de la variable "scFilt") et enfin la vue (variable "vi").
  • Est-ce qu'il y a encore des objets ? bMoreItems = clDrFindResults.MoreAvailable.
  • Déplacer l'offset si bMoreItems vaut Vrai : vi.Offset = vi.Offset + iPageSize.
  • Initialiser une variable de type entier à 0 en guise de compteur.
  • Initialiser le nombre d'objets affichables, c'est-à-dire le nombre d'objets que la collection a retourné. Dans notre exemple le code est le suivant : iDspCnt = clDrFindResults.Folders.Count.
  • Dans une boucle POUR TOUT on traite chaque objet de la collection clDrFindResults.Folders. Ici nous décidons de sauvegarder le nom et l'ID de chaque dossier dans un objet de classe. On sort de cette boucle lorsque notre compteur a atteint le nombre d'objets affichables (voir ci-dessus). A vous de trouver le traitement adéquat à réaliser...
   
Voilà, vous pouvez désormais récupérer une liste de dossiers avec l'API et ce en utilisant Windev. N'est-ce pas magnifique ?

lundi 1 décembre 2014

[WD19] Utiliser l'API Exchange Web Services (II)

Il y a quelques mois nous avions vu comment utiliser l'API Exchange Web Services 2.0 depuis Windev. Grâce aux bibliothèques .NET fournies il est possible d'interroger un serveur Exchange et de récupérer les e-mails d'un utilisateur. Nous avons fait l'expérience en créant une petite fonction qui récupère 10 objets à la fois dans la boite de réception de l'utilisateur, et ce en travaillant avec la notion d'offset, ce qui permet à terme d'effectuer des opérations de pagination (ex : l'utilisateur appuie sur un bouton pour afficher la deuxième page).

Télécharger les bibliothèques et les importer

L'API est fournie par Microsoft et peut être téléchargée sur le site officiel à l'adresse suivante : http://www.microsoft.com/en-us/.../details.aspx?id=35371. Sélectionnez la version qui convient (32 ou 64 bits) puis installez-là sur votre poste de développement. Les DLL sont alors disponibles dans le répertoire %ProgramFiles%\Microsoft\Exchange\Web Services\2.0. Importez-les dans votre projet Windev.

Recherche avec pagination

Dans l'exemple qui suit, nous allons effectuer une récupération de 10 éléments en modifiant à chaque fois l'offset. Nous nous basons sur le tutoriel proposé sur MSDN qui explique comment fonctionne cette méthode. Nous avons alors repris la procédure d'exemple en fin de page mais nous avons fait une croix sur l' "ancre" qui permet de déterminer si un élément a changé de place ou non.


Il est évidemment important d'allouer un objet Credentials pour permettre la connexion à chaque requête. Le Web Service EWS étant stateless, la connexion n'est pas constante et chaque requête est traitée indépendamment des autres. Avant toute chose, il faut donc instancier un objet global de type ExchangeService, qu'on pourra réutiliser dans chaque fenêtre. Dans le code qui suit, l'objet fait plutôt partie d'une classe qu'on pourra déclarer dans la section "initialisation du projet".


Voici ce qui a été réalisé :
  • Instanciation de la classe ExchangeService. Le constructeur reçoit en paramètre le numéro de version Exchange qui doit correspondre à celui utilisé sur le serveur, sinon les requêtes ne seront pas toujours bien gérées (MSDN#FF597939).
  • On se connecte en utilisant le nom d'utilisateur, le mot de passe et le domaine (en allouant une nouvelle instance d'un objet de type WebCredentials).
  • La fonction "AutodiscoverUrl()" permet de localiser le fichier Exchange.asmx sur le serveur pour pouvoir envoyer les futures requêtes. On obtient alors l'URL du "point d'entrée" (endpoint) du web service.
           
Si la connexion a abouti il faut ensuite réaliser ces opérations :


Dans l'ordre, voici ce qui a été fait :
  • On crée un nouvel objet de type ItemView permettant de stocker un nombre d'objet défini par la variable "iPageSize". L'offset - stocké dans la variable "iOffset" - indique l'endroit à partir duquel on souhaite récupérer les informations (de base 0 pour commencer au début). Il devra être progressivement modifié pour récupérer les éléments suivants.
  • On initialise l'ensemble des propriétés à récupérer. Dans ce cas-ci, on récupère simplement l'ID mais on peut imaginer récupérer la date/heure de réception ou le sujet. A partir de cet instant on peut utiliser la syntaxe suivante : maVue.PropertySet.Add(xxxxx). A noter que la fonction FindItems() ne récupère pas les adresses des destinataires ou de l'expéditeur.
  • On ajoute une condition de tri : maVue.OrderBy.Add(champ, ordre du tri). Ici, on souhaite trier sur la date/heure de réception (ItemSchema.DateTimeReceived) de manière descendante (la plus récente d'abord soit SortDirection.Descending).
  • On indique la méthode de recherche.
          
Pourquoi ne pas avoir indiqué d'autres propriétés dans le constructeur de la classe PropertySet ? Si on souhaite en rajouter d'autres, on peut se servir de la méthode Add() car le second constructeur de la classe PropertySet demande une collection d'objets. En .NET, lorsqu'on indique plusieurs objets à la suite, il considère cela comme un tableau d'objets ou une collection IEnumerable, et reconnait quel constructeur doit être appelé. Mais à ce stade Windev n'est pas capable d'effectuer la conversion de types.

On entre alors dans le vif du sujet : la récupération des e-mails.


Voici ce qu'on a réalisé dans cette étape (le tout étant englobé dans une boucle) :
  • On a englobé le code dans une boucle qui teste "bMoreItems".  Tant que cette variable est à "true", on continue le traitement. Lorsqu'elle vaut "false", on sort de la boucle.
  • A chaque tour de boucle on initialise l'objet de type 'FindItemsResults' (à déclarer comme tel en début de fonction) en appelant simplement la fonction FindItems() qui reçoit en paramètre le dossier (ex : WellKnownFolderName.Inbox) ainsi que la vue qui a été précédemment paramétrée. Seul l'offset changera au cours de l'opération.
  • S'il y a d'autres résultats alors on va augmenter l'offset pour le prochain tour de boucle en rajoutant à celui-ci la taille d'une page (ici, on ajoute donc 10). Si on avait utilisé le système d'ancre, il aurait fallu récupérer à chaque fois un objet de plus pour permettre de déterminer s'il y avait eu un changement entre deux sets de résultats.
  • Ensuite on charge l'ensemble des propriétés de "première classe", il s'agit notamment des champs sujet, date/heure réception, expéditeur, destinataire(s), etc. Dans ce cas s'il y a 10 objets récupérés on charge en mémoire les propriétés de ceux-ci.
              
Pour parcourir la collection il faut utiliser une boucle de type POUR TOUT. On arrête cette boucle lorsqu'on a atteint le nombre d'objets retourné. Pour en sortir, il faudra le faire de force avec le mot-clé adéquat. On y traite les e-mails un par un et là, c'est à vous de décider ce que vous faites. Dans l'exemple ci-dessous, on enregistre simplement dans des membres d'une classe. On peut imaginer d'ajouter chaque élément dans un champ Table.


Ce qu'il faut faire :
  • Initialiser la variable de comptage à 0.
  • Initialiser le nombre maximum d'objets à afficher.
  • Traiter chacun des objets de la collection monResultset.Items.
  • Incrémenter la variable d'itération.
  • Sortir lorsqu'elle est égale à la variable qui contient le nombre de résultats à afficher.
            
Contraintes rencontrées

Lorsqu'on utilise une API .NET, on peut faire face à certains soucis...
  • Windev ne prend pas en charge les tableaux d'objets en .NET. Dans notre cas on ne peut pas écrire "clDrFindResults.Items[x]". 
  • Certaines fonctions comme FindItems.Items.First() ou Last() tentent d'effectuer des copies d'objet. Cela n'est pas géré par Windev et donc les fonctions ne peuvent pas être utilisées telles quelles.
  • La conversion d'objets pose problème dans le cas des constructeurs, comme c'est le cas lorsqu'on effectue une allocation d'un objet de la classe PropertySet. Dans ce cas il faut trouver une alternative...
  • Certains objets doivent être convertis en chaine pour l'affichage avec les méthodes ToString(). En général, cela se fait automatiquement en .NET, sauf dans certains cas bien précis.
            
Bon développement à tous !

mardi 25 novembre 2014

[Firefox] Les meilleurs prix avec Shoptimate

Si vous achetez régulièrement en ligne, vous pouvez être amenés à consulter les offres d'autres marchands sur internet. Vous souhaitez évidemment le meilleur prix pour soulager votre portefeuille au maximum. C'est possible grâce à l'extension Shoptimate que l'on retrouve sur Firefox. Développée par Sourcefully (société belge), elle est aussi disponible pour Chrome, Safari, Internet Explorer, Opéra et SeaMonkey.


Une fois installée, elle détecte automatiquement le site marchand sur lequel vous vous trouvez. Lorsque vous consultez la page d'un produit elle recherche automatiquement les meilleures offres et vous propose le prix le plus bas. Vous pouvez alors décider de visualiser ces offres en cliquant sur "Voir les X offres".

Elle permet ainsi de comparer les prix pour différents produits comme les DVD et Blu-Rays, les CD, les livres, les jeux vidéos, ainsi que les appareils électroménager ou multimédia, tout en tenant compte du pays que vous sélectionnez. Sur le site officiel, on retrouve la liste complet des magasins pris en compte. Vous pouvez télécharger l'add-on sur le site de Mozilla. Aucun redémarrage n'est nécessaire.

Une chose est sûre : elle fait partie des indispensables !

jeudi 16 octobre 2014

[Astuces] Préférences de Firefox dans un onglet

Depuis peu, le navigateur Firefox offre la possibilité d'afficher les options dans un onglet, un peu à la manière de Chrome. Par défaut, cela n'est pas permanent. Il faut donc saisir dans la barre d'adresse "about:preferences" pour arriver à cette fameuse page. Celle-ci affiche à gauche une barre latérale avec les catégories d'options et à droite les paramètres correspondants à la sélection. A chaque modification, la sauvegarde est effectuée sans avoir besoin de cliquer sur un quelconque bouton de validation.


Si vous souhaitez accéder aux options de cette manière, sans avoir à saisir l'adresse ci-dessus, il va falloir effectuer un petit changement dans les variables de configuration. Pour ce faire, saisissez "about:config" dans la barre d'adresse et cliquez sur "Je ferai attention promis !". Ce petit message d'avertissement vous met en garde car nous entrons dans un mode avancé.


Il faut ensuite modifier la valeur de l'option "browser.preferences.inContent" (vous pouvez la localiser à l'aide de la recherche) en double-cliquant sur celle-ci. Cela aura pour effet de passer de false à true. (Note : vous pouvez également utiliser le menu contextuel pour modifier la valeur). Désormais, lorsque vous cliquerez sur "Options" dans le menu principal du navigateur, cela s'ouvrira dans un nouvel onglet. Pas mal n'est-ce pas ?

mardi 14 octobre 2014

[Utilitaires] Contrer les stickers Facebook

Les stickers - ou "autocollants" - sont à la mode sur Facebook. Ils étaient d'abord réservés aux messages internes cependant il est possible de les utiliser dans les commentaires (sur une photo, un statut). Leur format ne passe pas inaperçu car il atteint les 128 pixels de hauteur, contrairement à un smiley qui se contente de bien moins que ça. Comme toujours, certains vont en profiter pour en abuser... Mais l'extension suivante va vous rendre bien des services ! 

Il s'agit d' "Unsticker Me" développé par Rodney Folz : l'extension est disponible pour le navigateur Chrome ainsi que pour Firefox. Elle permet de remplacer chaque sticker par la mention "[sticker]" dans un commentaire (sur le mur de vos amis par exemple). Fini la pollution ! Pour information elle n'agit pas sur les messages privés.

[WD20] PC SOFT annonce sa nouvelle version

Chaque année, dans le courant du mois d'octobre, PC SOFT annonce la nouvelle version des trois éditeurs WinDev, WebDev, et WinDev Mobile. En résumé, on notera la compatibilité avec Windows 10, le support de la nouvelle version d'Android ("L" ?), iOS 8.0 et des terminaux associés (iPhone 6, iPhone 6 Plus), de nouvelles fonctions du WLangage, des améliorations pour SQL, pour le centre HFSQL, ainsi que pour la programmation Java, les Web Services, et encore bien d'autres.


L'apparition du champ Tableur est sans conteste l'une des grandes surprises de cette nouvelle version. Celui-ci est natif, ce qui signifie qu'il n'est pas nécessaire d'avoir installé Microsoft Excel sur la machine. Il supporte des fonctions de calcul essentielles comme la somme, la soustraction, les conditions "SI", etc. Il est également capable de lire les feuilles de calcul enregistrées au format XLS ou XLSX. Si une fonction n'est pas reconnue lors de la lecture, #Erreur sera indiqué dans la cellule pour informer l'utilisateur qu'elle n'est pas prise en charge. On se doute que pour l'instant bien des formules risquent de manquer à l'appel, étant donné que c'est quelque chose de tout à fait nouveau...

Le champ Tableau Croisé Dynamique (aussi appelé Cube rOlap) évolue aussi  : la nouveauté #017 mentionne l'inversion des dimensions, en utilisant un exemple de ventes de produit par année pour plusieurs pays. Il sera possible d'inverser les niveaux : ainsi au lieu d'avoir d'abord la sélection du pays puis le choix du produit, on pourra faire cela en sens inverse (d'abord avoir le chiffre par produit, puis avoir le détail par pays). En #018 on notera la possibilité d'échanger les critères utilisés en ligne et en colonne. A venir aussi : la multi-sélection, l'affichage des lignes/colonnes totalement vides, remplissage par data-binding, style indépendant de chaque cellule, annulation du calcul, recherche, et amélioration des FAA.

Parmi les améliorations des éditeurs, on notera par exemple la recompilation en arrière-plan pour les projets WD et WD Mobile. Reste à voir son fonctionnement mais cela permettrait de ne pas bloquer l'utilisateur et d'accéder aux objets pendant cette opération. Les utilisateurs seront aussi ravis de savoir qu'on pourra par exemple afficher le code d'une fenêtre sur un second écran avec l'affichage de celle-ci sur l'écran principal. D'après PC SOFT les performances de la fonctionnalité auraient encore été améliorées. 

Au niveau du WLangage, la nouveauté #092 surprend quelque peu : il s'agit de la procédure interne. Celle-ci ne peut être appelée que depuis le traitement où elle est définie. Une amélioration qui fait un peu penser au "GOTO [Label]" mais sous une forme plus élégante... et avec des paramètres. Est-ce vraiment une bonne chose ? Ne vaut-il pas mieux passer par une procédure locale à la fenêtre, en la nommant judicieusement ? 

La nouvelle façon de passer des paramètres à une fonction (#093 et #094) est surprenant aussi, quoique déroutant. Comme pour une requête, il sera possible de définir les paramètres à l'avance avant d'effectuer l'appel lui-même. Cela permet non seulement de les définir dans un ordre aléatoire, mais d'améliorer la lisibilité. Une fois de plus, c'est une bonne idée mais c'est assez discutable du point de vue de l'ordre des paramètres. Notez également l'apparition de nouvelles fonctions du WLangage (transformation de chaines en heure, nombre d’occurrences d'un sélecteur ou d'un interrupteur, fonctions SSH), les tableaux de tableaux, l'apparition des fonctions de cryptage et décryptage standards DES/3DES/AES, etc.

Nous vous parlions des améliorations au niveau du langage SQL : à partir de la nouveauté #117 on notera le support des vues SQL et matérialisées dans HFSQL, le support de l'INSERT multiple, l'utilisation du SELECT scalaire dans une requête UPDATE ou INSERT, gestion des droits avec les ordres GRANT et REVOKE, paramétrages des clauses TOP, LIMIT ou BOTTOM ({MonParametre}), optimisation de la clause IN, apparition de nouvelles fonctions (exemple : REGEXP pour évaluer une expression régulière au sein d'une condition, CHAR pour obtenir un caractère depuis un code ASCII, etc).

D'autres nouveautés sont intéressantes : l'interaction avec les Web Services REST, les onglets dynamiques, la prise en charge d'iOS 8.0 et de la dernière version d'Android, de nouvelles fonctions Java, nouveau champ carte Google Maps, nouvel éditeur de code HTML, cryptages standards pris en charge pour PHP, génération de RAD "MVC", champ "Zone de Texte Riche" pour les sites web, etc. Rien concernant la création du système d'aide d'une application, l'utilisation de l'API Exchange Web Services ou la prise en charge de fichiers XML lourds. Mais cette version semble proposer des choses qui devraient plaire, comme toujours. Il y a du bon et si vous souhaitez en savoir plus, vous pouvez toujours consulter la brochure.

[Sécurité] Le service Dropbox a-t-il été hacké?

C'est la nouvelle inquiétante du jour : un inconnu aurait subtilisé les informations de compte utilisateur (e-mail et mot de passe) d'environ 7 millions de comptes Dropbox. Mais le service rassure sur son blog : les informations qui ont été publiées auraient été volées sur des sites internet qui ne sont pas liés. Jusqu'à présent près de 400 combinaisons ont été dévoilées sur Pastebin. D'après l'article publié le ou les pirate(s) auraient utilisé ces identifiants pour tenter de se connecter à des comptes du service de stockage dans le cloud. Ils indiquent avoir comparé la liste mise en ligne avec les comptes enregistrés chez eux... et rien ne correspondrait.


Dans le doute il est tout de même recommandé de changer son mot de passe. Assurez-vous également que celui-ci est différent de ceux que vous utilisez sur différents sites, tels que des forums. Et si vous souhaitez renforcer la sécurité de votre compte, vous pouvez utiliser la validation en "2 étapes" en suivant le tutoriel proposé par Dropbox.

mercredi 1 octobre 2014

[Java] Problème config. Axis2/Netbeans 7.4+

A partir de NetBeans 7.4, le plugin Axis2 Support semble poser un petit problème. En effet, lorsqu’on configure les différents paramètres de l’onglet fraichement apparu dans la fenêtre d'options, les valeurs ne s’enregistrent pas dans le fichier de properties. Il faudra donc le créer soi-même. L’astuce a été rajoutée à l’article initial “Axis2 et Web Service Partie 1” mais la voici copiée-collée :
     
Netbeans ne crée pas le fichier de configuration du module et donc, à chaque fois, on se retrouve avec les options par défaut lors de la réouverture du logiciel. Pour pallier ce problème, il faut effectuer les manipulations suivantes (astuce valable pour Windows 7 et 8) :
  • Se rendre dans le dossier suivant : %USERPROFILE%\\AppData\Roaming\NetBeans\7.4\config\
    Preferences\org\netbeans\modules.
  • Créer un sous-dossier “websvc”.
  • Créer un fichier “axis2.properties”.
  • Ajouter les propriétés suivantes (doubler les slashs pour le répertoire de déploiement) :
AXIS_DEPLOY=
AXIS_URL=
TOMCAT_MANAGER_PASSWORD=
TOMCAT_MANAGER_USER=
  
  
Bon développement à tous !

jeudi 4 septembre 2014

[Astuces] Win 8/8.1 – Installer un pack de langue

Il arrive que certains PC arrivent avec une version de Windows sur un DVD qui s’installe automatiquement en anglais. En général, ce disque intègre déjà les autres packs de langue, sauf qu’en passant à la version 8.1, la réinstallation va de nouveau être effectuée dans la langue de Shakespeare. Pour repasser en français on peut télécharger le pack de langue via le panneau de configuration, option “Language”. Sauf que parfois, Windows indique qu’il n’y a aucun pack disponible. Il y a alors plusieurs solutions qui impliquent toutes le téléchargement d’un fichier .CAB contenant les fichiers nécessaires pour le français. Les fichiers ci-dessous – en français –  sont classés par système et par plate-forme. Téléchargez celui qui correspond à votre version.

Windows 8.1 (32 bits) lp_6588a26cdd1f53395b8f3e6ae0f256fc080df570.cab
Windows 8.1 (64 bits) lp_57ba398b9875a01656ae6bd9fee53b4717f7612e.cab
Windows 8 (32 bits) windows8-kb2607607-x86-fra_....cab
Windows 8 (64 bits) windows8-kb2607607-x64-fra_....cab

Méthode 1 : installation en ligne de commandes

Téléchargez le fichier adéquat puis renommez-le : par exemple, “lp.cab”. Ensuite, placez le fichier à la racine pour plus de facilité.

  • Le fichier se trouve alors dans C:\ (“C” étant la lettre par défaut attribuée au disque système mais cela peut varier d’une machine à une autre).
  • Utiliser la combinaison de touche Windows+X.
  • Dans le menu choisir “Invite de commandes (admin)”.
  • Saisir la commande : dism /online /add-package /packagepath:C:\lp.cab
  • Attendre la fin de l’installation.
  • Redémarrer l’ordinateur puis retourner dans le panneau de configuration – Langues – paramètres avancés pour définir correctement le français.

Méthode 2 : installation via l’utilitaire LPKSETUP

Téléchargez le fichier adéquat mais laissez-le dans le dossier “Téléchargement”. Ensuite, lancez l’utilitaire LPKSETUP en mode administrateur. Choisissez le dossier de téléchargements pour que l’utilitaire détecte le fichier de langue à installer puis suivez les étapes affichées à l’écran.

Méthode 3 : renommez le fichier téléchargé

Une autre astuce consiste à renommer le fichier fraichement téléchargé en lui donnant l’extension “.mlc” au lieu de “.cab”. Ensuite, il faut double-cliquer sur le fichier pour commencer l’installation du package.

lundi 1 septembre 2014

[WD19] Pilotage Excel via OLE

Depuis votre application Windev, il est possible de piloter des applications Windows via le protocole OLE (“Object Linking and Embedding”). Par exemple vous pouvez créer une feuille Excel formatée avec un ensemble de données reprises dans un tableau : colorez telles cellules en rouge, modifiez la mise en page, modifiez le zoom actif, changez l’orientation de l’impression, etc. 

Tout d’abord, il faut définir la variable qui va permettre l’interaction avec le processus Excel et l’appel des différentes méthodes pour mettre en forme notre futur document. Cette variable est de type “Objet OLE dynamique”. On va l’initialiser d’abord avec la valeur retournée par la fonction ObjetActif(), puis déterminer l’action à effectuer en fonction du retour.


Ce qui est réalisé ci-dessus :
  • On définit la variable de type “Objet OLE dynamique”.
  • On l’initialise avec la fonction ObjetActif, à laquelle on passe en paramètre le nom du serveur automation, à savoir “Excel.Application”.
  • Dans l’instruction “Selon”, on va vérifier si le résultat est à Null : si c’est le cas, cela veut dire qu’il n’y a aucun fichier Excel actif, et on peut allouer un nouvel objet de type “Excel.Application”. Dans les autres cas, cela signifie qu’il y a un fichier en cours d’édition. On va alors appeler la méthode “Quit()” de l’objet, en utilisant l’opérateur “>>” (exemple : “monFichierXls>>Quit()”), détruire l’objet, puis réaliser une nouvelle allocation.
Note : les objets Automation sont automatiquement détruits à la fin du traitement, cependant, si vous souhaitez libérer des objets plus tôt, utilisez le mot-clé “libérer” (exemple : “libérer monFichierXls”).

Lorsqu’on a réalisé cette opération, on peut alors commencer la création et l’édition d’une feuille dans le nouveau document, et même la renommer. Tout d’abord, on va faire en sorte qu’Excel soit rendu invisible : on ne le verra pas dans la barre de tâches, même si son processus est actif. Ensuite on va initialiser le classeur, qui contiendra ses 3 feuilles. La première est automatiquement “activée”.
   

Ce qu’on fait dans l’étape ci-dessus :
  • On modifie la propriété OLE “Visible” à “OLEFaux” (le code étant alors “monFichierXls>>Visible=OLEFaux”), afin qu’Excel soit masqué.
  • On va ajouter un classeur, grâce à la méthode Workbooks.Add(). Si on veut traduire cela en code WLangage, cela donne alors quelque chose comme : “monFichierXls>>WorkBooks>>Add()”. Réf : Plus d’informations à propos de cette méthode.
  • On va définir le nom de la feuille active grâce à la propriété Application.ActiveSheet.Name. C’est toujours le même principe : on utilise l’opérateur “>>” à chaque niveau. Du coup, on obtient quelque chose comme “monFichierXls>>ActiveSheet>>Name = VALEUR” en WLangage.
Après, on peut s’amuser à définir le contenu d’une cellule à partir des indices de ligne et de colonne. Dans Excel, les colonnes sont nommées de A à  ZZ mais sont indicées à partir de 1, tout comme les lignes. On peut aussi modifier la taille de la police, l’apparence, la couleur de fond, etc.
  

Pour interagir avec la cellule qui nous intéresse, on utilise ActiveSheet.Cells(x, y). X étant l’indice de ligne et Y l’indice de colonne. Chaque cellule possède un nombre d’éléments qui peuvent être édités, telles que Font (pour la police), HorizontalAlignment (pour définir l’alignement du texte par exemple), Interior, etc. C’est comme ça qu’on définit la taille de la police…
Quelques exemples :
  • monFichierXls>>ActiveSheet>>Cells(1,2)>>Font>>Bold = True
  • monFichierXls>>ActiveSheet>>Cells(1,2)>>Font>>Size = 16
  • monFichierXls>>ActiveSheet>>Cells(1,2)>>Interior>>ColorIndex = 56
Détail des exemples ci-dessus : le premier met la police de la cellule B1 (1, 2) en gras. Le second définit sa taille à 16. Enfin, le troisième définit la couleur de fond numéro 56 selon l’index de couleurs défini dans Excel. Voici la palette :
  

Il est bien sûr possible d’indiquer sa propre couleur avec la propriété Color, dans laquelle on stocke la valeur de la fonction RGB() proposée par Windev. Le site Excel-Pratique donne des exemples de valeurs à utiliser avec cette fonction…

Pour mettre en page, on peut jouer avec les propriétés de l’objet ActiveSheet.PageSetup. La propriété Orientation permet de choisir entre le mode paysage (ici, la valeur est alors égale à 2) ou portrait. Les propriétés Left*, Top*, Bottom* et RightMargin permettent de définir les marges. Enfin la propriété Zoom permet de définir la valeur du zoom ce qui peut aider pour faire rentrer la feuille complète sur la page.
  

Enfin pour terminer et sauvegarder le fichier Excel, il faut désactiver l’affichage des alertes, appeler la méthode “SaveAs()” en indiquant en paramètre le nom du fichier, réactiver les alertes, fermer le classeur et quitter Excel. Il ne restera plus qu’à détruire l’objet !
   

Dans l’ordre :
  • On a désactivé les alertes : “monFichierXls>>DisplayAlerts = False”.
  • On a sauvegardé le fichier à l’aide de SaveAs(). Plus d’informations dans la documentation officielle située ici : référence MSDN FF841185.
  • Réactivation des alertes.
  • Fermeture du classeur : “monFichierXls>>ActiveWorkbook>>Close()”.
  • Fermeture d’Excel : “monFichierXls>>Quit()”.
  • Destruction de l’objet avec le mot-clé “libérer”.
Il est bien sûr possible d’en faire plus, car il existe de nombreuses méthodes, de nombreux objets, et un tas de propriétés associées à ceux-ci ! On peut par exemple définir une formule, modifier un ensemble de cellules plutôt qu’une seule à la fois, et encore bien d’autres choses. Bon développement à tous !

dimanche 31 août 2014

[Sécurité] FileHippo et son Download Manager

FileHippo est un site internet – créé par Well Known Media – qui permet de télécharger rapidement de nombreux logiciels, pour la plupart gratuits, et qui affichait jusqu’à présent des publicités uniquement sur leurs pages, principalement sous forme de bannières et d’encarts. Seulement voilà, depuis quelques jours, le site propose par défaut de télécharger le logiciel via un “Download Manager” (en français, un “gestionnaire de téléchargements”), comme on peut le voir ci-dessous pour Notepad++ (on peut apercevoir la mention “Download Manager Enabled”). Pour l’instant cela n’affecte pas encore tous les programmes proposés par le site (par exemple, ce n’est pas le cas de CCleaner).
   

Tout d’abord, sachez qu’il est toujours possible de télécharger normalement en cliquant sur le lien “Direct Download” qui, il faut l’avouer, se fait plutôt discret. On peut le voir sur l’image ci-dessus.
Comme vous le savez désormais, les utilitaires intégrés par ces sites web proposent régulièrement d’installer des logiciels publicitaires sur votre machine. Jusqu’à présent, les adwares peuvent ne pas être installés (toujours bien cocher “Je refuse”), cependant rien ne nous dit que l’éditeur n’imposera pas l’installation de ceux-ci dans le futur, en arrière-plan, sans que l’utilisateur ne soit averti…
  

Si vous souhaitez continuer à télécharger depuis FileHippo, veillez à bien utiliser le lien “Direct Download” sur la fiche du logiciel. Vous voilà mis en garde.

jeudi 28 août 2014

[Système] “Windows XP Unofficial SP4”

Etant donné que le support officiel de Windows XP est terminé, un internaute dont le pseudo est “harkaz”, a mis en ligne un lien pour télécharger une version non-officielle d’un Service Pack 4 pour Windows XP (32 bits), qui en est a sa troisième version beta, la RC étant en cours de développement. Il s’agit d’un regroupement maison d’un ensemble de correctifs pour une machine qui serait au minimum en version SP1 du système : elle inclut des mises à jour pour les divers composants tels que Media Center et Tablet PC. Tous les correctifs des versions .NET Framework 1.1/3.5/4.0 sont également inclus.
   

L’intention est louable : certains utilisateurs ne désirent en effet pas migrer, peut-être parce qu’ils possèdent des applications spécifiques qui requièrent l’utilisation de systèmes d’ancienne génération. Du coup, les mises à jour de sécurité de ce pack pourraient tomber à pic.

Cependant Microsoft déconseille vivement d’installer cette mise à jour, en tout cas pas sur des postes en production. L’installation de ce “Service Pack” active également la procédure pour obtenir les mises à jour POSReady. Toutes ces manipulations ne sont évidemment pas recommandées pour la bonne et simple raison qu’il est impossible de savoir si cela ne va pas affecter le système de manière négative. Un plantage est si vite arrivé !

Un bon conseil, si vous souhaitez installer ce pack de mises à jour pour tester, pensez à faire une image disque qui vous permettra de repartir proprement. Mais ne venez pas crier au scandale si ça fout tout en l’air : vous êtes prévenus !

Sources

mardi 26 août 2014

[Matériel] Les prix pour les Intel Core i7 Haswell-E

On annonçait les caractéristiques des trois prochains CPU Haswell-E haut de gamme (nouveau socket LGA 2011-3) il y a déjà deux ou trois mois, désormais on parle de prix puisqu’il est possible de les retrouver sur la toile. Les prix seront bien entendus officialisés le 29 aout, date de sortie des processeurs. Pour l’instant, on peut se faire une idée en dollar, mais on se doute que les prix pourraient varier en fonction de la localisation géographique… et de ce que nous annoncera le constructeur.

L’Intel Core i7-5820K – à coefficient débloqué bien entendu – est un CPU 6 cœurs avec la technologie Hyper-Threading, offrant alors 12 threads. Sa fréquence de base serait de 3,3 ghz avec un turbo jusqu’à 3,6 ghz, avec un cache L3 de 15 MB. Tous sont équipés d’un contrôleur de mémoire DDR4, et affichent un TDP de 140W. On compte par contre 28 lignes PCI-Express 3.0 pour ce modèle (soit 16x 8x 4x). Son prix pourrait avoisiner les 389 $.

Le modèle 5930K est plus alléchant : il dispose aussi de 6 cœurs et du même nombre de threads que le modèle ci-dessus, mais on annonce cette fois une fréquence de base à 3,5 ghz avec un turbo jusqu’à 3,7 ghz. Et cette fois, ce sont 40 lignes PCI-Express 3.0 qui permettront une configuration 16x 16x 8x, ce qui pourra être intéressant pour du SLI. Le prix qui a fuité est de 583 $ !

L’Intel Core i7-5960X est le modèle qui risque d’atteindre des sommes incroyables puisqu’il a été aperçu à 999 $. C’est un modèle 8 cœurs et 16 threads, dont la fréquence de base avait été annoncée à 3 ghz avec un turbo jusque 3,5 ghz. Cette fois c’est un cache L3 de 20 MB qui est annoncé. Pas de changement pour les lignes PCI-Express puisqu’il y en aurait également 40. Inutile de dire qu’il s’agit là d’un processeur très haut de gamme.
   

Par ailleurs, on retrouve déjà des prix de kits G.Skill 16 Go (4x4096) DDR4 3000 mhz chez quelques marchands, dans les alentours des 280 €. Il ne reste plus qu’à voir ce que ce nouveau type de mémoire vaut au niveau des performances… En tout cas, tout se suit très vite, de quoi avoir de la lecture durant les semaines à venir !

Sources

Tom’s Hardware

dimanche 17 août 2014

[Android] Installer Android 4.4 KitKat sur votre PC

Si vous souhaitez essayer Android alors que vous ne possédez aucun smartphone, vous pouvez le tester sur votre PC équipé d’un processeur x86 (à savoir les classiques CPU Intel et AMD) voire sur une machine virtuelle telle que VirtualBox. Il s’agit d’un portage d’Android 4.4.2 (KitKat-MR1 release) réalisé par les développeurs du projet “Android-x86”. La version est basée sur le noyau Kernel 3.10.52 stable de Linux. Elle apporte entre autres le support des modems 3G Huawei ainsi que l’accélération matérielle OpenGL ES pour les chipsets AMD Radeon et Intel. Elle intègre également la librairie “ffmpeg” pour permettre aux utilisateurs de lire davantage de fichiers multimédia (lecture de vidéos HD et Full HD dans les applications notamment).
   

Téléchargez le fichier image au format ISO et gravez-le sur un CD : oui, un CD ! L’image ne pèse que 343 Mo ! Petit plus : il est possible de tester Android en le lançant directement depuis le disque (Live CD). Cela permettra de savoir si votre matériel est correctement reconnu, et si toutes les fonctionnalités sont exploitables ou non…

mardi 5 août 2014

[Astuces] Recovery Mode sous Windows 8/8.1

Plusieurs méthodes permettent de redémarrer et d’afficher le menu d’options pour réparer ou restaurer votre ordinateur (on appelle ça le mode récupération ou en anglais, “Recovery Mode”). Ce menu permet notamment d’ouvrir une console pour lancer diverses commandes, mais également de démarrer la machine en mode sans échec. Avant une simple pression de la touche F8 permettait d’afficher le menu sur fond noir mais tout ça c’est fini (ou presque) !

1. Majuscule + Redémarrer sous Windows
  • Affichez l’écran d’accueil (exemple, en appuyant sur la touche Windows) ou la barre des charmes –> paramètres.
  • Cliquez sur le bouton “Power” qui permet d’afficher les options “Redémarrer”, “Arrêter” et “Veille”.
  • Tout en maintenant la touche Majuscule (Shift) enfoncée, cliquez sur “Redémarrer”.

2. Démarrer depuis un disque de réparation Windows 8
  • Créez d’abord un disque de récupération.
  • Pour lancer l’utilitaire de création de disque, vous pouvez vous rendre dans le panneau de configuration (par Windows+X par exemple), catégorie “récupération de fichiers Windows”, et choisir “Créer un disque de réparation système”.
  • Insérez le disque et faites en sorte de démarrer dessus. Attention, certains BIOS nécessitent d’être configurés en mode “legacy” pour pouvoir démarrer sur un lecteur externe. Cela implique de désactiver SecureBoot un moment.

3. Démarrer depuis une clé USB
  • Créez un support de récupération.
  • Insérez une clé USB contenant au minimum 230 mo d’espace libre.
  • Pour lancer l’utilitaire de création de lecteur de récupération, vous pouvez ouvrir l’écran d’accueil, lancer une recherche (Win+Q) et saisir le mot-clé “récupération”. Cliquez alors sur “Créer un lecteur de récupération”.
  • Acceptez lorsque l’UAC vous demande les droits administrateur pour lancer Recovery Media Creator.
  • Ne cochez pas la case “copier la partition de restauration” sauf si vous souhaitez réinstaller l’ordinateur (et si celui-ci possède une partition spéciale qui permet de repartir avec les paramètres d’usine).
  • Choisissez le lecteur et finalisez la création.

4. Utiliser F8 ou SHIFT+F8 avant le démarrage de Windows

A cause du démarrage rapide de Windows, cette fonctionnalité peut être oubliée sur les PC avec BIOS UEFI et SSD. Par contre, si votre BIOS est configuré en mode Legacy, vous pouvez toujours essayer ces combinaisons de touche pour lancer le mode de récupération plutôt que d’utiliser un CD ou une clé USB.

Mode sans échec

Windows peut être démarré en mode sans échec selon les méthodes suivantes :
  • Soit depuis le mode de récupération obtenu grâce aux méthodes précédentes :
    • Démarrer en mode récupération.
    • Choisir “Dépannage”.
    • Choisir “Options avancées”.
    • Choisir “Options de démarrage”.
    • Cliquer sur “Redémarrer”.
    • Choisir “Mode sans échec” (4) ou “Mode sans échec avec prise en charge réseau” (5).
  • Soit depuis le mode récupération lancé automatiquement après deux démarrages ou deux arrêts intempestifs de Windows (qui peuvent avoir été causés par l’utilisateur) :
    • Lorsque le message “Récupération - Il semblerait que Windows ne s’est pas chargé correctement” apparait, cliquez sur “Voir les options avancées”.
    • Accédez au mode sans échec en parcourant les catégories comme lors de l’étape ci-dessus.
  • Soit en éditant l’entrée de démarrage via l’utilitaire de configuration système, alias “msconfig” :
    • Localisez l’utilitaire soit via une recherche, soit en effectuant l’opération suivante : touche Windows+R, taper “msconfig.exe” puis confirmer par “Entrée”.
    • Onglet “Démarrer” (c’est le second onglet).
    • Dans “Options de démarrage”,  cocher “démarrage sécurisé” et choisir l’option “Minimal”.
    • Valider par OK et redémarrer.
    • Windows redémarrera directement en mode sans échec.

Article basé sur les tutoriaux fournis par le site web 7tutorials.

[Sécurité] Un malware sur les NAS Synology

On rencontre fréquemment des malwares sur Windows de tout type, et notamment des ransonwares, ces logiciels malveillants qui demandent à l’utilisateur de débourser une certaine somme pour avoir de nouveau accès à leur ordinateur ou à leur données. Mais des petits malins ont trouvé judicieux de s’attaquer aux NAS de la marque Synology en développant un malware appelé “SynoLocker”, sorte de clone de “CryptoLocker”. En résumé, il infecte le NAS en chiffrant l’intégralité des données et demande la somme de 0,6 bitcoin (soit actuellement près de 260 €) pour débloquer la situation.
   

Une page web est alors mise en place et est visible lorsqu’on se connecte sur l’interface de gestion. Celle-ci indique la marche à suivre pour pouvoir déchiffrer l’ensemble de ses fichiers. Le message indique clairement la somme à transférer ainsi que l’adresse Bitcoin du destinataire. La marque a très vite réagi et recommande de passer de la version DSM 4.3 à la 5.0 pour éviter toute future catastrophe. En effet, il semblerait que les versions 4.3.3810 et antérieures soient vulnérables à ce malware. Si votre NAS vient d’être infecté, n’hésitez pas à rapidement le déconnecter et l’éteindre afin d’essayer de récupérer ce qui peut encore l’être ! Vous voilà avertis…

Sources

PC-World

vendredi 1 août 2014

[Astuces] Réinstaller Express Cache

Lorsque vous installez fraichement un Lenovo Twist S230u possédant un SSD pour le cache (ou un autre modèle d’une autre marque qui utilise le même système), vous pouvez être confronté à un petit souci avec le logiciel Express Cache, surtout si vous souhaitez mettre la dernière version du pilote, soit la 1.3.110. En exécutant une invite de commandes en mode administrateur, on peut lancer la commande “eccmd -info” pour obtenir des informations.

Il est possible que vous obteniez l’erreur suivante :

ExpressCache Command Version 1.3.110.0
Copyright⌐ 2010-2013 Condusiv Technologies.
Date Time: 1/27/2014 14:29:43:487 (XXXXXXXXXX #0)
Failed to retrieve product license information.

Dans ce cas, on peut effectuer les opérations suivantes :

  • Désinstaller le logiciel Express Cache.
  • Vider le répertoire temporaire du système.
  • Lancer l’utilitaire “diskpart” dans une invite en mode administrateur.
  • Lister les disques pour repérer le SSD (list disk).
  • Sélectionner le bon disque (select disk XX).
  • Lancer la commande “clean” pour effacer les partitions.
  • Redémarrez le PC.
  • Réinstallez le logiciel Express Cache.
  • Videz les fichiers temporaires restants et redémarrez une dernière fois.

Une fois l’ordinateur redémarré, vérifiez que le service Express Cache est bien actif (via le composant enfichable “services.msc”). Ensuite, ouvrez une nouvelle fois une invite de commandes et appelez à nouveau la commande “eccmd -info”. Vous devriez obtenir une réponse similaire à la suivante :

C:\windows\system32>eccmd -info
ExpressCache Command Version 1.3.110.0
Copyright⌐ 2010-2013 Condusiv Technologies.
Date Time: 2/2/2014 9:38:12:787 (XXXXXXX #5)
EC Cache Info
===============================================
Mounted : Yes
Partition Size : 22.36 GB
Reserved Size : 3.00 MB
Volume Size : 22.36 GB
Total Used Size : 74.25 MB
Total Free Space : 22.29 GB
Used Data Size : 0 Bytes
Used Data Size on Disk : 67.75 MB
Tiered Cache Stats
===============================================
Memory in use : 0 Bytes
Blocks in use : 0
Read Percent : 0.00%

Cache Stats
===============================================
Cache Volume Drive Number : 0
Total Read Count : 33041
Total Read Size : 1.09 GB
Total Cache Read Count : 0
Total Cache Read Size : 0 Bytes
Total Write Count : 3518
Total Write Size : 94.44 MB
Total Cache Write Count : 0
Total Cache Write Size : 0 Bytes
Cache Read Percent : 0.00%
Cache Write Percent : 0.00%

Et voilà ! Le cache est de nouveau fonctionnel. Si toutefois vous obtenez une erreur lors de l’exécution de cette commande, assurez-vous d’avoir lancé celle-ci dans une invite en mode administrateur…

mardi 29 juillet 2014

[SQL] 80040e57 : Arithmetic Overflow SQL Server

Lorsque vous effectuez une insertion dans une colonne avec une valeur numérique trop grande ou lorsque vous effectuez par exemple une somme impliquant une ou plusieurs colonnes numérique dont le résultat dépasse le type imposé (par exemple, le résultat obtenu dépasse l’entier), vous obtenez l’exception 80040e57 avec par exemple le message d’erreur suivant : “Arithmetic overflow error converting expression to data type int”.

Par exemple, supposons la requête suivante :
SELECT b.Cart, SUM(a.QTE * b.POIDS)
FROM Commande a JOIN Article b
ON a.cart = b.cart
WHERE ...
GROUP BY ...
On sait que la colonne QTE et la colonne POIDS sont au format entier (int). Si le résultat de la somme pour l’article vient à dépasser la limite maximale définie par le type entier, une erreur sera renvoyée. Une solution consiste donc à convertir chaque colonne dans un autre type (exemple : bigint). Cela donnerait par exemple :
SELECT b.Cart, SUM( CAST(a.QTE AS BIGINT) * 
  CAST(b.POIDS AS BIGINT))
FROM Commande a JOIN Article b
ON a.cart = b.cart
WHERE ...
GROUP BY ...
Dans le cas d’une opération d’insertion ou de mise à jour, il faudra peut-être envisager de modifier le type de la colonne destination ou restreindre les valeurs possibles qui peuvent être stockées dans la table. Pour obtenir davantage d’informations consultez la base de connaissances Microsoft Technet (MS163363).