PC SOFT

BLOGS OFFICIELS 
SUR TOUS LES SERVICES ET PRODUITS DE PC SOFT

Publié par
08:25 Mardi
27 Sep. 2016

[Billet publié dans le blog Le blog du ST]

Un nouveau Webinaire est programmé jeudi 6 octobre 2016 à 11h.


Dans cette session de 20 minutes, vous découvrirez les techniques fiables pour assurer la sécurité des mots de passe dans vos applications et vos sites (gestion de comptes clients).


Après la diffusion en direct, la vidéo restera disponible avec ce même lien.


Retrouvez l'ensemble des webinaires sur notre site :
http://www.pcsoft.fr/webinaires.htm


Publié par
12:18 Mercredi
21 Sep. 2016

[Billet publié dans le blog Le blog du ST]

Dans l'éditeur de WINDEV les options de l'éditeur de code proposent "Iconiser l'éditeur lors du mode test" : 

  • volet "Accueil du ruban", 
  • bouton "Options", 
  • option "Options de l'éditeur de code, 
  • volet "Débogueur" des options d'édition 



Cette option permet d'iconiser automatiquement l'éditeur lorsque le test "Go" du projet ou d'un élément est lancé. Ou à l'inverse, de conserver l'éditeur maximisé, afin d'avoir le test sur un autre écran par exemple.


Cette option n'est pas proposée dans les réglages de WEBDEV. En cas de besoin, une astuce via la base de registre peut cependant permettre d'obtenir le même résultat que sous WINDEV :


  • lancer l'éditeur de registre REGEDIT, 
  • dérouler la clé HKEY_CURRENT_USER\SOFTWARE\PC SOFT\WebDev\21.0\WDCOD 
  • sélectionner le nom de l'utilisateur donné au lancement de WEBDEV, 
  • ajouter une nouvelle valeur de type REG_DWORD, dont le nom sera MinimiseGo 

  • saisir dans les "Données de la valeur" : 
    • 0 (zéro) pour que l'éditeur de pages de WEBDEV reste maximisé lors du test (utile par exemple pour conserver la visualisation du volet de trace lorsqu'il est ancré dans l'éditeur), 
    • 1 au contraire pour que l'éditeur de WEBDEV soit réduit, minimisé, lors du test. 


Publié par
08:26 Mercredi
21 Sep. 2016

[Billet publié dans le blog Le blog du ST]

La gestion des notifications push proposée par Google est en cours de changement. Google remplace la solution initiale "Google Cloud Messaging" (GCM), par "Firebase Cloud Messaging" (FCM). 


Les applications générées à partir de WINDEV Mobile 21 étant conçues pour "Google Cloud Messaging" (GCM), il faut donc toujours utiliser cette solution pour mettre en œuvre les notifications push dans une application Android. Cela n'a pas d'incidence sur les applications existantes, car elles utilisent un projet du compte développeur Google dans lequel les notifications push sont activées en "Google Cloud Messaging" (GCM). 


En revanche, pour un nouveau projet, Google propose maintenant par défaut pour le push l'activation de "Firebase Cloud Messaging" (FCM). Il ne faut donc pas suivre le lien par défaut dans le compte développeur Google pour ajouter les notifications push à un nouveau projet, mais appliquer le mode opératoire suivant afin de conserver l'utilisation de "Google Cloud Messaging" (GCM) :

  • ouvrir la page d'aide relative à la configuration des notifications push :
    Notification Push : Configuration Android
  • créer le projet comme indiqué à l'étape 1, mais ne pas activer "Cloud Messaging for Android" (car il fait un rebond sur "Firebase Cloud Messaging" (FCM) inadapté dans l'immédiat), 
  • récupérer le numéro du projet, comme indiqué à l'étape 2, 
  • remplacer l'étape 3 pas ces nouvelles manipulations : 
    • cliquer sur "Choose and configure services", 
    • cliquer sur "Enable Google Cloud Messaging", 
    • récupérer le numéro de clé de l'API (server API Key) : c'est ce numéro de clé qui doit être passé en paramètre à la fonction NotifPushEnvoie


      Cette clé apparaît ensuite dans la liste des clés du projet dans la console développeur. 


Les notifications push reposant sur "Firebase Cloud Messaging" (FCM) sont en cours d'implémentation par l'équipe Développement. Elles seront donc proposées dans une prochaine version de WINDEV Mobile. 

Publié par
17:11 Lundi
19 Sep. 2016

[Billet publié dans le blog Le blog du ST]

Les projets Xcode générés par WINDEV Mobile 21 jusqu'à sa version Update 3 (210065N) sont adaptés à Xcode 7 (7.3.1 à ce jour). C'est donc cette version de Xcode qu'il faut utiliser pour le test et le déploiement d'applications pour iOS, y compris avec des périphériques passés sous iOS 10. 

Si des périphériques, iPhone ou iPad, sont sous iOS 10, le test depuis Xcode 7 peut être fait en générant directement un IPA à copier sur le périphérique. Il est également possible d'effectuer les manipulations suivantes, afin de permettre le test direct depuis Xcode 7 : 

Premièrement, il faut avoir Xcode 7 et Xcode 8 : 

  •  Si Xcode 8 n'est pas encore installé :  
    • sélectionner Applications dans le Finder, 
    • sélectionner Xcode 7 puis "Dupliquer", 
    • une fois la duplication effectuée, renommer l'icône de la copie par exemple en Xcode 7.3.1, 
    • depuis l'App Store, rechercher les mises à jour, et accepter la mise à jour de Xcode dans la version la plus récente qui sera proposée (8.0 à ce jour). La version initiale qui était installée passe ainsi en Xcode 8, et la copie faite par l'option dupliquer permet de toujours avoir Xcode 7,
    • facultatif, une fois l'installation de Xcode 8 faite, renommer son icône en Xcode 8.
  • Si Xcode 8 a déjà été installé à la place de Xcode 7 :  
    • via le navigateur ouvrir la page https://developer.apple.com/download/more/ 
    • indiquer si besoin les paramètres de connexion du compte développeur Apple, 
    • décocher toutes les options à l'exception de "Developers tools",
    • dérouler la version 7 la plus récente de Xcode 7 (à ce jour la "Xcode 7.3.1"), 
    • lancer le téléchargement puis l'installation de Xcode 7.3.1.dmg. 

Deuxièmement, une fois que les deux versions de Xcode sont installées et fonctionnelles, ajouter à Xcode 7 les éléments nécessaires à la reconnaissance des périphériques sous iOS 10, inclus dans Xcode 8. Sans cela le test depuis Xcode 7 sur un périphérique iOS 10 affiche le message "Could not find Developer Disk Image" :

  • à partir du Finder, sélectionner Applications, 
  • sélectionner Xcode 8 puis "Afficher le contenu du paquet", 
  • descendre dans l'arborescence jusqu'au dossier :
    /Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ 
  • copier le dossier 10.0 (identifiant),
  • afficher à nouveau les applications dans le Finder, 
  • sélectionner l'icône de Xcode 7, puis "Afficher le contenu du paquet", 
  • descendre dans l'arborescence jusqu'au dossier :
    /Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/ 
  • coller le dossier 10.0 (identifiant) précédemment copié. Il serait également possible de créer un lien symbolique via l'application Terminal afin d'éviter la duplication du dossier (sudo ln -s \ ...). 



A noter qu'un projet WINDEV Mobile 21 Update 3 peut permettre l'exécution sur un périphérique lorsqu'il est ouvert avec Xcode 8. Cependant seul le déploiement ad-hoc est possible. Xcode 7 reste donc la version à utiliser, en attendant l'ajout d'un support complet des spécificités de Xcode 8 dans une mise à jour de WINDEV Mobile. Des adaptations des projets Xcode générés sont en effet rendues obligatoires par les nombreux changements effectués par Apple entre Xcode 7 et 8.

Publié par
08:26 Jeudi
15 Sep. 2016

[Billet publié dans le blog Le blog du ST]

Un thread secondaire lancé par ThreadExécute permet d'accélérer les applications en parallélisant des traitements, ou en déportant une tâche sans qu'elle ne soit bloquante pour l'utilisateur. Il en est de même avec l'utilisation d'une tâche parallèle. Une règle fondamentale pour les traitements exécutés depuis un thread secondaire, ou une tâche parallèle, est de ne pas avoir d'interaction avec l'interface de l'application :  

  • pas d'accès aux champs des fenêtres depuis une procédure exécutée dans un thread, 
  • pas d'ouverture de fenêtre ... 

Toutes les actions sur l'IHM de l'application, doivent être faites depuis le thread principal de l'application.  



Tout manquement à cette règle sera sanctionné par un déclenchement du mécanisme de sécurité du WLangage lors d'un accès à l'interface. Lorsqu'un traitement d'un thread secondaire doit mettre à jour l'interface (mise à jour d'un champ, affichage d'une notification...), le thread secondaire doit "demander" cet affichage au thread principal.


Cette "demande" peut être implémentée en utilisant des messages Windows (PostMessage / Evénement), cette solution est proposée dans la page d'aide suivante : gérer l'ouverture d'une fenêtre dans un thread secondaide


Il s'agit d'une solution qui était couramment utilisée dans les premières implémentations des threads en WLangage, il y a plus de 10 ans. D'autres solutions WLangage sont disponibles grâce aux évolutions faites depuis. Elles permettent de parvenir au même résultat, sans passer par des messages Windows. Elles sont à privilégier pour faciliter la mise au point : 



  • la fonction ExécuteThreadPrincipal, permet directement depuis le code d'un thread secondaire, de lancer une autre procédure qui sera elle exécutée dans le contexte du thread principal. Cette procédure est donc autorisée à interagir avec les champs de l'application. 
  • la fonction DemandeMiseAJourIHM, permet d'exécuter le traitement "Demande de mise à jour de l'affichage" d'une fenêtre via la fonction. Ce traitement spécifique des fenêtres est automatiquement exécuté par le thread principal 
  • la fonction TâcheParallèleExécuteAprèsToutes, grâce à son option tpoThreadPrincipal, elle permet de lancer une tâche de continuation exécutée par le thread principal, immédiatement après l'exécution d'un ensemble de tâches parallèles. 


Pas encore de tâches parallèles en place pour accélérer vos applications ? Il ne faut plus hésiter grâce à ces possibilités !


Je profite de ce billet pour rappeler que la recherche proposée dans les ressources pratiques permet d'avoir immédiatement toutes les ressources disponibles sur un sujet donné. Ici la recherche de "thread" par exemple remontera les nombreuses illustrations proposées dans les exemples inclus, et les LST.

Publié par
12:22 Mercredi
14 Sep. 2016

[Billet publié dans le blog Le blog du ST]

Le serveur d'application de WEBDEV qui héberge les sites dynamiques et webservices sur les serveurs web, doit avoir son administrateur WDxx0ADMIN.EXE lancé pour autoriser les connexions. 

Par défaut le lancement de l'administrateur WDxx0ADMIN.EXE est automatique au démarrage du serveur web, grâce à un service Windows ajouté lors de l'installation du serveur d'application :





Si sur un serveur web le service n'a pas été installé, ou supprimé par erreur, il est possible d'effectuer sa réinstallation via la ligne de commande suivante (XX à remplacer par la version de WEBDEV) :

WDXX0ADMIN.EXE /SERVICE /INSTALL 

Cela peut permettre d'éviter une réinstallation complète. Par exemple avec l'administrateur de la version 21 :



La désinstallation est également autorisée par ce même principe :

WDXX0ADMIN.EXE /SERVICE /REMOVE


Lorsque l'administrateur n'est pas lancé, l'accès à un site WEBDEV provoquera une erreur ERR_NO_WDADMIN.

Publié par
16:27 Jeudi
08 Sep. 2016

[Billet publié dans le blog Le blog du ST]

Des développeurs nous ont remonté des difficultés sur certaines stations de travail sur lesquelles la mise à jour anniversaire de Windows 10 a été appliquée : blocage plus ou moins complet et aléatoire, échec de démarrage de services, erreurs remontées dans l'observateur d'événements. Les configurations dotées d'un disque SSD sont plus particulièrement impactées.




Plusieurs mises à jour de la mise à jour anniversaire sont maintenant disponibles apportant les réglages nécessaires, voici le lien :

https://support.microsoft.com/fr-fr/kb/3176938


Pour obtenir toutes les informations relatives aux versions éditées depuis Windows anniversary update par Microsoft, la page suivante peut être consultée :

https://support.microsoft.com/fr-fr/help/12387/windows-10-update-history


Concernant WINDEV, WEBDEV et WINDEV Mobile, en cas de besoin le pilote nécessaire à l'utilisation des clés/dongles peut être réinstallé en appliquant les recommandations de la FAQ 3519.



Publié par
16:23 Vendredi
02 Sep. 2016

[Billet publié dans le blog Le blog du ST]

Un nouveau Webinaire est programmé jeudi 8 septembre 2016 à 11h. 

Dans cette session de 20 minutes, nous utiliserons les fonctions de hachage et de signature de WINDEV pour valider l'intégrité d'une ligne ou d'un ensemble de lignes dans une base de données. La norme NF 525 pour les logiciels d'encaissement impose par exemple de pouvoir valider cette intégrité. Vous pourrez également avoir ce besoin dans d'autres domaines.

Après la diffusion en direct, la vidéo restera disponible avec ce même lien. 

Retrouvez l'ensemble des webinaires sur notre site :
http://www.pcsoft.fr/webinaires.htm


Publié par
10:39 Lundi
11 Juil. 2016

[Billet publié dans le blog Le blog du ST]

Un nouveau Webinaire est programmé mercredi 13 juillet 2016 à 11h.


Dans cette session de 20 minutes, vous découvrirez comment créer une zone de signature dans une application mobile.


Après la diffusion en direct, la vidéo restera disponible avec ce même lien.


Retrouvez l'ensemble des webinaires sur notre site :

http://www.pcsoft.fr/webinaires.htm


Publié par
11:19 Vendredi
08 Juil. 2016

[Billet publié dans le blog Le blog du ST]

 

La LST 105 est disponible. Les expéditions ont débuté pour la France métropolitaine en courrier "Fréquence". Les livraisons sont prévues les semaines 28 et 29. Pour le reste du monde, les envois seront expédiés le 18 juillet en Courrier Postal Prioritaire. Les livraisons sont prévues semaines 29 et 30 selon les destinations. 


La LST 105 contient l'installation complète de la version "update 3" de WINDEV, WEBDEV et WINDEV Mobile 21 (210065N).


Le sommaire détaillé est disponible dans la rubrique LST de notre site : 

http://www.pcsoft.fr/lst/index.html


Au programme de ce numéro :


  • VALIDER DES ADRESSES POSTALES FRANÇAISES GRÂCE AU FICHIER "FANTOIR" (OPENDATA) 
    (WINDEV, WEBDEV) 
  • RÉALISER UN SONDAGE DYNAMIQUE GRÂCE AU CLONAGE DE CHAMPS ! 
    (WEBDEV) 
  • ÉDITEURS : 6 RACCOURCIS UTILES POUR GAGNER DU TEMPS 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • UN WEBSERVICE REST COMPLET D'ARCHIVAGE DE DOCUMENTS
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • DÉVELOPPER DES APPLICATIONS WINDEV NATIVES POUR RASPBERRY PI & WINDOWS 10 IOT 
    (WINDEV, WINDEV Mobile) 
  • SURVEILLER UN RÉSEAU GRÂCE À WINDEV ET AU PROTOCOLE SNMP 
    (WINDEV) 
  • MODÈLE DE CHAMPS RÉUTILISABLE : AFFICHER DES GRAPHES "COXCOMB"
    (WINDEV) 
  • FAA : AJOUTEZ VOS PROPRES FAA CONTEXTUELLES ! 
    (WINDEV) 
  • IHM : 3 ASTUCES SIMPLES À METTRE EN OEUVRE 
    (WINDEV) 
  • FAIRE APPARAÎTRE UN BOUTON "PANIER" DANS UNE ZONE RÉPÉTÉE 
    (WEBDEV) 
  • QUESTIONS & RÉPONSES
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • Gabarit “FANTASY” : UNE COULEUR FORTE, UN LOOK SOBRE 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • HFSQL : 6 OPTIMISATIONS DÉTAILLÉES 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • VISUALISATION 3D ET PERSONNALISATION D'UN OBJET 
    (WEBDEV) 
  • BEST PRACTICE : LE BLUETOOTH LOW ENERGY 
    (WINDEV Mobile) 
  • WINDEV Mobile & GÉOLOCALISATION EN ARRIÈRE-PLAN : PROPOSER DES OFFRES À PROXIMITÉ ! 
    (WEBDEV, WINDEV Mobile) 
  • PERSONNALISER UNE APPLICATION EN 1 CLIC GRÂCE À LA FABRIQUE LOGICIELLE 
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • OPTIMISER UN WEBSERVICE GRÂCE À DES SESSIONS PRÉLANCÉES 
    (WINDEV, WEBDEV) 
  • GESTION DE L'APPLE PENCIL DANS UNE APPLICATION WINDEV Mobile 
    (WINDEV Mobile) 
  • LE SAVIEZ-VOUS ? 
    (WINDEV, WEBDEV, WINDEV Mobile) 

Le “Goodies du trimestre” est un ensemble de plage aux couleurs de WINDEV !