PC SOFT

BLOGS OFFICIELS 
SUR TOUS LES SERVICES ET PRODUITS DE PC SOFT

Publié par
14:33 Vendredi
02 Déc. 2016

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

Les agencements sont disponibles dans WINDEV 22 (dès la Pré-Version), cela apporte de nouvelles possibilités "Adaptive Design" pour les applications de bureau.


Je vous recommande vivement de tester cette possibilité pour prendre en main cette nouveauté. En effet elle permet d'apporter une très importante valeur ajoutée à des applications existantes : 

avec très peu de modification dans une application existante, "l'expérience utilisateur" peut être considérablement améliorée. 

En effet, il peut être très rapide de proposer une interface adaptée à la taille des écrans, les utilisateurs disposant d'une résolution supérieure pourront avoir plus d'informations, ou une présentation plus agréable !



Dans l'illustration ci-dessous, une fenêtre a un nouvel agencement qui permet dès que la taille de la fenêtre atteint une nouvelle taille en exécution, de "basculer" la position et les ancrages des champs. L'utilisateur avec un écran plus grand, profite ainsi de plus d'espace pour sa présentation (zones matérialisées par des libellés gris et orange) : 





Mode opératoire : 

  • volet "Fenêtre" du ruban,
  • bouton "Agencements",
  • choix "Ajouter des agencements",
  • valider les options par défaut,
  • par un clic droit sur les champs (multisélection disponibles !), dérouler le menu contextuel "Agencement" et dissocier taille et/ou position et/ou ancrage des champs qui seront déplacés suivant l'agencement,
  • dans le nouvel agencement, agrandir la fenêtre à la taille à partir de laquelle il faudra "basculer" sur l'agencement (en exécution la sélection est automatique en fonction de la taille), 
  • dans le nouvel agencement, modifier les positions et/ou ancrage des champs ... c'est terminé !


Conseil : dans un premier temps, il peut être avantageux d'utiliser le mode de "dissociation automatique" :


Il évite "d'oublier" une dissociation, et donc qu'un changement fait dans le nouvel agencement, ne soit également appliqué dans la fenêtre d'origine...


La fonction WLangage FenAgencementEnCours permet en exécution de connaître l'agencement appliqué à la fenêtre par le framework d'exécution. Il est également possible de forcer le changement d'agencement avec la fonction FenChangeAgencement.


La documentation détaillée pour l'utilisation des agencements mentionne encore à ce jour uniquement WINDEV Mobile, mais elle sera très rapidement actualisée pour inclure WINDEV : Gestion des agencements.

Publié par
09:24 Vendredi
02 Déc. 2016

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

WINDEV, WEBDEV et WINDEV Mobile 22 Pré-Version sont disponibles en téléchargement !



Le but de cette Pré-Version est de vous permettre de découvrir dès à présent les fonctionnalités de la version 22 dans leur contexte, et de débuter dès à présent des projets dans cet environnement. Cette Pré-Version n'est pas destinée à produire des applications. 


Connaître dès aujourd'hui les fonctionnalités dont vous bénéficierez en version finale vous permet de ne pas perdre de temps à développer ces fonctionnalités avec une ancienne version !


Consultez le fichier LISEZMOI proposé par l'installation pour connaître les conditions d'utilisation de cette Pré-Version.


Accéder à l'espace téléchargement...


Publié par
16:43 Mardi
25 Oct. 2016

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



La LST 106 est disponible, avec parmi les exemples :

  • SIGNER DES ENREGISTREMENTS POUR EN ASSURER L'INTÉGRITÉ
    (WINDEV, WEBDEV) 
  • LIRE ET ÉCRIRE DANS DROPBOX© AVEC UNE APPLICATION WINDEV
    (WINDEV) 
  • UTILITAIRE : LES APPLICATIONS SE METTENT À JOUR LA NUIT !
    (WINDEV) 
  • ONGLETS DYNAMIQUES : AUTANT D'ONGLETS QUE NÉCESSAIRE !
    (WINDEV, WINDEV Mobile) 
  • ANDROID, IOS : PROPOSER AUTOMATIQUEMENT LA MISE À JOUR D'UNE APPLICATION MOBILE
    (WINDEV Mobile) 
  • EFFET VISUEL "PARALLAXE" : EXEMPLE DE MISE EN OEUVRE
    (WINDEV Mobile) 
  • 3 ASTUCES DE PERSONNALISATION DE GRAPHES
    (WINDEV) 
  • AFFICHER UNE BARRE LATÉRALE DANS UNE PAGE WEBDEV
    (WEBDEV) 
  • ENCHAÎNEMENT DE TRAITEMENTS : AFFICHER DES JAUGES ADAPTÉES
    (WINDEV) 
  • LE SAVIEZ-VOUS ?
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • “FREESTYLE” : EN ROUGE ET BLEU...
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • COMMENT FAIRE COMMUNIQUER UNE APPLICATION INTERNET AVEC UN RÉSEAU LOCAL EN TOUTE SÉCURITÉ ?
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • RESPONSIVE WEB DESIGN : LIER LES BLOCS DE POSITIONNEMENT
    (WEBDEV) 
  • WLANGAGE : DEVENEZ MAÎTRE DES SECTIONS CRITIQUES (THREADS)
    (WINDEV, WEBDEV, WINDEV Mobile) 
  • APACHE SOLR : INDEXER DES IMAGES OU DES DOCUMENTS !
    (WINDEV, WEBDEV) 
  • OPTIMISATION : GÉNÉRER DES CARTES STATIQUES GOOGLE MAPS
    (WINDEV, WEBDEV) 
  • DES MARQUEURS SUR L'ASCENSEUR DES CHAMPS !
    (WINDEV) 
  • BEST PRACTICE : INTÉGRATION DE JAVASCRIPT DANS WEBDEV
    (WEBDEV) 
  • METTRE EN AVANT LES COLONNES FILTRÉES D'UNE TABLE
    (WINDEV) 
  • COMPOSANT "NUANCIER" : INTÉGRER LES COULEURS D'UNE PALETTE PHOTOSHOP OU WEBDEV
    (WINDEV) 
  • QUESTIONS & RÉPONSES
    (WINDEV, WEBDEV, WINDEV Mobile) 

Le “Goodies du trimestre” est une superbe sacoche pour ordinateur portable de marque "CASE LOGIC".  

 




Publié par
20:04 Vendredi
21 Oct. 2016

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

Une nouvelle version 210067f de WINDEV, WEBDEV et WINDEV Mobile 21 est disponible en téléchargement : 

http://www.pcsoft.fr/st/telec/index.html


Cette version n'a pas encore subi le deuxième niveau de validation par le Service Qualité. Vous pouvez trouver une information complète sur les niveaux de validation sur notre site :

http://www.pcsoft.fr/st/telec/validation-vi.htm


21/10/2016 : la version 210067f est maintenant en niveau 2 de validation.


Publié par
16:13 Mardi
04 Oct. 2016

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

La version version 22 de WINDEV, WEBDEV et WINDEV Mobile est annoncée !




La nouvelle version 22 apporte une somme incroyable d'innovations immédiatement utiles.

Et en prenant encore plus de plaisir à développer, vos équipes seront encore plus efficaces !  


La nouvelle version 22 apporte à vos équipes 922 nouveautés immédiatement utiles :



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]

3/10/2016 - mise à jour disponible de WINDEV Mobile 21 afin d'utiliser les projets générés sous Xcode 8 :

http://faq.pcsoft.fr/13544-windev_mobile_version_xcode_generation_application_ios-read.awp


Il n'est donc plus obligatoire de conserver une version 7 de Xcode pour les projets générés par WINDEV Mobile 21. Le billet originel ci-dessous est cependant conservé pour avoir en cas de besoin un mode opératoire permettant :


  • de faire cohabiter deux versions de Xcode,
  • ou de tester sur un périphérique iOS 10 en conservant une version 7 de Xcode.

                                                                                                                 

Billet publié le 19/9/2016 :

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.