Quantcast
Channel: PC SOFT - Blogs
Viewing all 1435 articles
Browse latest View live

Le GDS contient tous les codes sources, une attention toute particulière doit être portée au serveur hébergeant la base ...

$
0
0
Comme le précise l'aide de la présentation du GDS : 

Les sources de vos applications sont primordiales.
Ces sources doivent être traitées avec l'attention qu'elles méritent !

Comme les données des applications déployées, les codes sources des projets développés sont on ne peut plus précieux ! Cela semble évident, mais pourtant au quotidien il n'est pas rare pour notre support de découvrir des bases GDS simplement en partage sur un OS inadapté et/ou une machine sous dimensionnée sans protection de son alimentation...

J'ai complété dans l'aide les conseils qui s'appliquent au serveur qui héberge les sources, voici un rappel (non exhaustif) : 
  • Utilisez un serveur dédié avec un disque de taille confortable (au moins 200 Go). 
  • Utilisez le Gestionnaire de Sources (GDS) en mode Client/Serveur, en utilisant une version du moteur au moins égale à celle de l'environnement.
  • Les outils de l'administrateur du GDS permettent de convertir une base GDS au format HFSQL Classic en base HFSQL Client/Serveur. 
  • Les disques durs peuvent avoir des problèmes physiques : utilisez si possible un système RAID I sur votre serveur (plusieurs disques stockant les mêmes informations en double). 
  • Protégez l'alimentation de votre serveur par un onduleur. 
  • Faites des sauvegardes régulières de la base de sources. 
  • Placez le serveur dans une zone "sécurisée", en utilisant un firewall. 
  • Lorsque la base est dans un CLOUD : 
    - vérifiez avec son administrateur que les connexions TCP sont permanentes (c'est le cas pour les plateformes de développement de PCSCLOUD). Même si le GDS se reconnecte automatiquement, pour votre confort, il ne doit pas y avoir une coupure automatique des connexions TCP toutes les minutes par exemple. 
    - en cas de déconnexions fréquentes (alors que les connexions TCP sont permanentes), réduisez la taille des paquets dans les outils de l'administrateur du GDS.
  • Vérifiez que la copie locale des sources ne peut pas être manipulée par des processus externes (antivirus, sauvegarde automatique...) pendant le développement. 
  • Préférez l'utilisation du mode "Gérer automatiquement l'extraction du projet" lorsque les modifications de plusieurs développeurs portent sur le projet (code projet, liste des éléments...).

Bien sûr toutes les recommandations de sécurité données pour le moteur HFSQL Client/Serveur s'appliquent intégralement, et constituent un bon point de départ ...



Support de cours et exemples du TDF TECH 2014 des versions 19 de WINDEV, WEBDEV et WINDEV Mobile en ligne !

$
0
0
Les ressources pratiques ont été complétées, et incluent maintenant le TDF Tech 2014 : 
  • support de cours,
  • exemples,
  • vidéo.

Les ressources pratiques permettent un accès direct à toutes les ressources de développement : 


Déclarer une variable source de données, en précisant la description du fichier ou de la requête à laquelle elle se rapporte...

$
0
0
Cette possibilité ajoutée au Wlangage en version 19 est sous utilisée : piqûre de rappel ! 

Lorsqu'une variable source de données est déclarée et réservée à un type de données connu lors du développement, il est possible de préciser ce type avec la syntaxe <description=fichier ou requête>.

Cela permet de profiter de la complétion automatique dans l'éditeur de code, afin d'avoir toutes les rubriques proposées lors de l'utilisation de la variable.

Nouvelles dates pour les formations 2014-2015 à LYON, MARSEILLE, MONTPELLIER, NANTES, STRASBOURG et TOULOUSE

Changement important du contrôle des certificats de sécurité SSL dans Google Chrome, concernant tous les sites Web sécurisés...

$
0
0
Un changement important visant à remplacer tous les certificats de sécurité déployés qui utilisent l'algorithme SHA-1 est amorcé par Google à partir de la version 39 de Chrome qui sera disponible en bêta le 26/9/2014.

En fonction de la date d'expiration des certificats SHA-1, un avertissement de sécurité pourra apparaître :

Il est donc vivement recommandé de vérifier les certificats de vos sites sécurisés afin d'éviter un avertissement pouvant dérouter les Internautes utilisant Chrome.

Liens utiles sur le sujet :

Numéro spécial "01NET" : consultez les témoignages !

$
0
0
Parmi nos dizaines de milliers d'utilisateurs, une centaine vous fait partager leur expérience. Vous trouverez dans les témoignages un aperçu de leurs réalisations, et leurs réflexions.


Les 5 recommandations fondamentales à respecter pour la création et la mise à jour des pages des sites WEBDEV.

$
0
0
Le rendu des site dans les navigateurs est un vaste sujet, au fil des versions des navigateurs les technologies évoluent et donc les façons de développer les sites progressent. WEBDEV gomme la majeure partie des différences entres les moteurs de rendu des navigateurs, comme cela a souvent été abordé dans le blog (cf. "liens sur le même sujet" en fin de billet). 

Cependant pour profiter pleinement de tout le "savoir-faire" de la génération des pages de WEBDEV, il est important d'utiliser ses solutions de mises en page les plus récentes. Voici donc les recommandations principales à appliquer pour la création de vos sites, mais également en "repassant" pour mise à jour sur les pages d'un site développé il y a quelques années :

  1. Norme de génération, paramétrable dans le volet "Avancé" de la description du projet : utiliser HTML 5.



    Les sites utiliseront ainsi le mode de rendu le plus récent des navigateurs, et non pas un de leurs modes de compatibilité. 

    Attention, bien vérifier que les pages utilisent la norme du projet :
  2. Champs superposables : les supprimer !
    S'il y a quelques années l'option "le champ peut être superposé" proposée pour tous les champs était pratique pour forcer la position d'un champ, à l'inverse avec les navigateurs actuels elle peut provoquer des effets inattendus sur les ancrages. 
    Si un champ doit obligatoirement être au dessus d'un autre, seul le champ par dessus doit avoir l'option "le champ peut être superposé" cochée.
  3. Superpositions invalides et erreurs d'IHM : toujours les activer ! 
    Ces deux options sont fondamentales. Toute erreur d'ihm ou de superposition laissée dans un site, provoquera invariablement un positionnement erroné dans un navigateur ou un autre.



  4. Positionnement et regroupement des champs : supprimer les cellules qui ne sont plus obligatoires maintenant grâce au zoning !
    Surtout pour les sites créés avant la version 17, ou après sans utiliser le zoning, supprimer les cellules qui servaient à positionner les champs afin de les remplacer par des zones de mise en page : 



  5. Mention spéciale pour Internet Explorer : supprimer les méta "X-UA-Compatible = IE???".
    Avant la version 11 de IE, il n'était pas rare de devoir "forcer" le moteur de rendu de IE à utiliser un de ses nombreux modes de compatibilité afin d'avoir le bon résultat. De nombreuses pages contiennent pour cela une commande "méta-http" de type "X-UA-Compatible IE???". A partir du moment ou le site est maintenant généré en HTML 5 en appliquant les conseils ci-dessus, les commandes "méta" peuvent être retirées.

    Exceptions pour confirmer la règle :
    - les sites sous IE toutes versions confondues utilisés dans un contexte Intranet sécurisé : FAQ 6 756.
    - les sites sous IE11 avec un mode de compatibilité précisé dans une stratégie de groupe : Activer le mode Entreprise et utiliser une liste des sites. Un "X-UA-Compatible IE???" peut être appliqué même s'il n'est pas dans le site ou les page...

Pour les nouvelles pages créées en version 19 il est facile d'utiliser directement le zoning et d'appliquer toutes ses recommandations.

Dans le cas de la reprise de pages existantes pour leur évolution, la tâche peut sembler complexe ou coûteuse en temps. En pratique grâce à la simplicité du mode d'édition en zoning, l'opération est rapide à condition de ne pas avoir peur d'y aller franchement.
En cas de fausse manipulation un paire de Ctrl+Z ou une annulation de l'extraction du GDS permet tout de suite de faire marche arrière. En découle une méthodologie "radicale" pour "rajeunir" une page utilisant des cellules et superpositions :

  • s'assurer que les erreurs d'IHM et de superposition sont affichées, 
  • éditer la description des cellules qui regroupent les champs dans la page, 
  • utiliser le bouton "enlever" afin de supprimer les champs des cellules, 
  • supprimer les cellules une fois qu'elles n'ont plus de champs, 
  • passer sur le volet "Zoning" de l'éditeur de pages, 
  • définir l'ancrage voulu pour la zone unique qui constitue la page, 
  • utiliser "découper" et "subdiviser" afin de délimiter les différentes zones qui composent la page (les cellules utilisées précédemment), 
  • ajuster couleurs de fond et cadres des différentes zones (si une couleur n'est pas affichée, c'est que l'affichage de la table de positionnement est en cours, ctrl+u permet de revenir à l'affichage des couleurs), 
  • placer les différents ancrages de chaque zone (bandeau en haut, à droit, centrage dans le navigateur d'une des zones...), 
  • repasser en édition de page, 
  • sélectionner tous les champs (ctrl+A), dans la fenêtre de description volet "ihm" décocher "le champ peut être superposé", 
  • ajuster les différents champs sur les zones. 
  • C'est terminé ! 
La page utilise maintenant les solutions les plus actuelles : elle est plus rapide, son rendu sera plus fiable d'un navigateur à l'autre. Bien sûr WEBDEV assure toujours la compatibilité, il n'y a donc aucune obligation à reprendre "immédiatement" toutes les "anciennes" pages. C'est à faire progressivement pour l'existant.


Liens sur le même sujet :



Le sommaire de la LST 98 est en ligne !

$
0
0
Le sommaire de la LST 98 est en ligne !


  • WINDOWS : SCANNER UN CODE-BARRES À L'AIDE D'UNE WEBCAM 
  • PROGRAMMATION OBJET : MISE EN PLACE DU DESIGN PATTERN OBSERVATEUR 
  • SÉCURISER UNE APPLICATION WINDOWS OU UN SITE GRÂCE À LA DOUBLE AUTHENTIFICATION 
  • GROUPWARE INTRANET : “CHANGER D'UTILISATEUR” 
  • PAYBOX : NOUVELLE VERSION DU COMPOSANT DE PAIEMENT SÉCURISÉ 
  • DES COPIES D'ÉCRAN DE QUALITÉ POUR GOOGLE PLAYSTORE ! 
  • BEST PRACTICE : EXECUTER DE MANIERE PERIODIQUE UN TRAITEMENT 
  • PDF : LIRE OU REMPLIR UN FORMULAIRE AUTOMATIQUEMENT 
  • FINIES LES VALIDATIONS ACCIDENTELLES ! 
  • DÉCOUVERTE DE FONCTIONS WINDEV 
  • QUESTIONS & RÉPONSES 
  • PERSONNALISEZ VOS SITES AVEC UNE NOUVELLE AMBIANCE 
  • VOS APPLICATIONS MOBILES AVEC UN NOUVEAU GABARIT 
  • UTILITAIRE : “WD FILEBOX” POUR SYNCHRONISER OU PARTAGER DES FICHIERS 
  • FORMULAIRE/SONDAGE : AUGMENTEZ LE TAUX DE RÉPONSE ! 
  • DO YOU SPEAK ENGLISH? ¿ HABLAS ESPAÑOL ? 
  • PROPOSEZ UNE SAISIE RAPIDE OU UN MODE SIMPLIFIÉ D'UNE FENÊTRE SANS DUPLIQUER ! 
  • MAC OS X : 6 POINTS IMPORTANTS LORS DU DÉVELOPPEMENT 
  • TRANSFORMER UNE BASE DE NUMÉROS DE TÉLÉPHONE AU FORMAT INTERNATIONAL 
  • ZOOM SUR LA FONCTION SQL “DECODE” 
  • IMPRIMER “TEL QUEL” CE QUE L'UTILISATEUR VOIT À L'ÉCRAN 
  • DES TEXTES TOUJOURS LISIBLES ! 
  • LE SAVIEZ-VOUS ? 

Disponibilité prévisionnelle :
  • à partir du 27 Octobre 2014 pour la France métropolitaine , 
  • DOM-TOM et hors France, prévoir une semaine supplémentaire.

Une mise à jour du framework iOS de WINDEV Mobile 19 est disponible dans l'espace téléchargement pour les applications exécutées sous iOS 8

$
0
0
Des nouveautés et spécificités apportées par la version 8 de iOS peuvent avoir une incidence sur les applications exécutées sous cette version du système des iPad, iPhone et iPod.

Afin de conserver sous iOS 8 un comportement identique à celui obtenu sous iOS 7, il faut inciter les mises à jour vers iOS 8.1 qui apporte de nombreux correctifs et fonctionnalités. D'autre part une mise à jour du framework a été faite pour la version 190056s de WINDEV Mobile 19. 

Le pack de mise à jour est dans l'espace téléchargement de WINDEV Mobile : 

Cette mise à jour permet principalement de :
  • conserver l'application active lors de la mise en veille (cf. FAQ 9726), 
  • rétablir le positionnement des champs lors de l'affichage du clavier de saisie sur iPAD orienté en paysage, 
  • utiliser les notifications Push, 
  • récupérer la position courant avec la fonction GPSRecupèrePosition,
  • afficher les pastilles avec la fonction SysIconeBadge,
  • éviter un blocage dans le cas d'une animation de fenêtre de gauche à droite 
  • sélectionner un agencement par programmation avec la fonction FenChangeAgencement ...


JSONExécute et JSONExécuteExterne, laquelle choisir pour obtenir une réponse d'un serveur ?

$
0
0
Les fonctions JSONExécute et JSONExécuteExterne permettent via une url d'obtenir d'un serveur des données au format JSON (JavaScript Object Notation).

Dans le cas général le serveur donne directement la réponse et se trouve sur le domaine qui héberge le site. C'est la fonction JSONExécute qui permet directement d'obtenir la réponse.

Il est également fréquent d'interroger un serveur d'un autre domaine (un service de Google par exemple), qui va attendre un paramètre permettant la mise en place d'un mécanisme de "callback". C'est alors la fonction JSONExécuteExterne qui permet d'obtenir la réponse JSON.


Un cas supplémentaire peut se produire : le serveur à contacter retourne une réponse directe sans attendre de paramètre avec le nom d'une "callback", et ce serveur n'est pas dans le domaine. Dans ce cas précis, c'est à nouveau la fonction JSONExécute qui devra être utilisée, et non pas JSONExécuteExterne. En effet, JSONExécuteExterne impose l'utilisation d'un paramètre elle n'est pas adaptée, en revanche JSONExécute peut faire un appel vers un autre domaine, à condition que le serveur cible l'autorise via une entête (header) http supplémentaire : "Access-Control-Allow-Origin" adaptée.

Si la fonction JSONExécuteExterne est utilisée pour tenter d'obtenir une réponse d'un serveur qui n'attend pas de paramètre, en fonction du navigateur une erreur sera obtenue :
  • Chrome : Failed to execute 'send' on 'XMLHttpRequest' : Failed to load <url>  
  • IE : Erreur lors de l'envoi de la requête : NetworkError  

Liens utiles pour cerner ces mécanismes :


Bon à savoir sur l'utilisation de javascript externes dans un site WEBDEV...

$
0
0
Il est possible dans un site WEBDEV d'inclure des javascript externes dans un projet et/ou des pages d'un projet. Cet aspect est détaillé dans les pages suivantes : 

Avant la version 19 de WEBDEV, les javascript externes étaient chargés dès le début des pages générées. En version 19, le chargement des .JS a été déplacé en fin de page. Cela permet de ne pas bloquer le chargement et l'affichage de la page dans le navigateur, par l'exécution et l'inclusion de script JS : la page s'affiche plus vite !

Ce changement, bon pour la rapidité des sites, peut avoir un "effet de bord" dans le cas très particulier d'un site qui utiliserait un javascript externe à partir d'un code html ou javascript :
  • placé dans la description d'un champ, dans le HTML inséré avant ou le HTML inséré après,
  • affecté par programmation avec les propriétés ..HTMLAvant ou ..HTMLAprès
En effet, dans ce cas, le javascript externe est bien accessible s'il est chargé en début de page, par contre avec un chargement en fin de page il sera manquant. Cela provoque une absence de résultat et une erreur de type "Uncaught ReferenceError : xxxx is not defined" visible dans la console du navigateur (F12 sous Chrome ou Internet Explorer).

La solution recommandée consiste donc à placer les traitements qui utilisent les javascript externes dans une fonction navigateur de la page. Cette fonction sera appelée dans le code navigateur "onload" de la page, permettant ainsi :
  • l'utilisation du .JS externe puisque la page et ses dépendances sera chargée lors de l'appel du code onload,
  • un affichage plus rapide de la page. 

Astuce : si le javascript externe doit faire référence à des champs de la page, ils pourront être passés en paramètres (NomChamp..Alias) à la fonction navigateur appelée en "onload" de la page.

Utilisation de services Google (contact, agenda, document, picasa) - modification du mécanisme d'authentification en avril 2015

$
0
0
A partir du mois d'avril 2015, Google va imposer l'utilisation de l'authentification Oauth 2.0 pour l'accès à ses services. Ce mode d'authentification améliore la sécurité et propose de nouvelles possibilités : 
  • l'utilisateur final décide d'autoriser l'accès ou non à des services,
  • l'authentification en deux étapes (sms) est disponible... 
Ce changement n'est pas transparent pour les applications qui utilisent les services Google avec les fonctions Ggl*. En effet, historiquement les fonctions Ggl utilisaient l'API "ClientLogin" comme mécanisme d'authentification. Avec ce dernier Google ne demandait que l'envoi d'un couple utilisateur/mot de passe, qui permettait d'obtenir un "token" de session à utiliser pour l'accès aux API. Avec l'authentification OAuth 2.0, il faut dans un premier temps "déclarer" l'application sur sa console développeur Google. Cela permet d'obtenir de Google un identifiant client, ainsi qu'un code secret propre à l'application : ils servent à la place du couple utilisateur/mot de passe à se connecter.

La fonction de connexion GglConnecte et le type de variable gglconnexion ont donc été adaptés pour cette échéance d'avril 2015 :

Toutes les applications qui utilisent des services de Google via les fonctions Ggl* du Wlangage
devront être donc recompilées avec l'une de ces versions pour continuer
à utiliser les services de Google à partir d'avril 2015. 


Recommandation importante : avec cette nouvelle syntaxe adaptée à l'authentification OAuth 2.0, il est fortement conseillé d'appeler explicitement la fonction GglConnecte en donnant en paramètre l'ensemble des services Google nécessairesà l'application (syntaxe 2 de la fonction GglConnecte). Sans cela, l'utilisateur final de l'application devra en plus de la connexion initiale, valider une demande d'autorisation lorsqu'il tentera d'accéder à un service Google. En effet, toutes les fonctions Ggl* sont adaptées afin d'ouvrir automatiquement une fenêtre de connexion ou d'autorisation si l'application n'est pas connectée ou autorisées à accéder à Google ou l'un de ses services. Il est donc préférable via GglConnecte de provoque une connexion unique incluant l'autorisation d'utilisation des services désirés.

Voici les liens directs vers les pages d'aide qui ont été mises à jour :

Aide des différentes jeux de fonctions d'utilisation des services Google :

Et enfin voici un exemple de code de connexion "avant / après" :

Exemple de code de connexion type "ClientLogin" utiliser jusqu'à présent pour se connecter à Google :
googleConnexion est un gglConnexion
googleConnexion.Email=gsGoogleCompte
googleConnexion.MotDePasse=gsGoogleMotDePasseCompte
googleConnexion.NomApplication=gsGoogleNomApplication
//Connexion au compte Google
SI PASGglConnecte(googleConnexion)ALORS
 Erreur(ErreurInfo(ErreurDétectée))
SINON
 //Récupération de l'agenda par défaut
 AgendaExistant est un gglAgenda
 AgendaExistant=GglRécupèreAgenda(googleConnexion)
 SIErreurDétectéeALORS
  Erreur(ErreurInfo(ErreurDétectée))
 SINON
  Info("Agenda récupéré !")
 FIN
FIN


Exemple de code de connexion nécessaire pour une authentification OAuth 2.0 (version minimale requise 190056S + mise à à jour 89 795 des ressources pratiques :
 googleConnexion est un gglConnexion googleConnexion.Email=gsGoogleCompte//de la forme : nomutilisateur@gmail.com
googleConnexion.ClientID=gsGoogleClientID// de la forme : 568705434218-sed6r7rgd7alcnbehs67f1k5s6ixqz84q.apps.googleusercontent.com
googleConnexion.ClientSecret=gsGoogleClientSecret// de la forme : kshKqXQPxUWmGLDiyBcmrCR2
// Pour créer un ID et un secret il faut :
// 1 - Avoir un compte Google (par forcément celui auquel on se connecte, ce sera le compte associé à cette application)
// 2 - Crée un projet dans la console Google (https://code.google.com/apis/console)
// 3 - Crée un projet dans la console en indiquant l'identifiant voulez (avec les restrictions Google : entre 6 et 30 caractères, que des minuscules...)
// note : ce n'est pas cette identifiant qu'il faudra utiliser
// 4 - Sélectionner le projet dans la console Google et choisissez "Activer une API", et activez "Calendar API" (et "Contact API" si vous utilisez les contacts)
// 5 - Dans la console aller sur "Identifiant", puis "Créer un identifiant client", et "Application installée"
// ==> la Google donne l'identifiant et la clé secrète

//Il faut mémoriser et le cas échéant restaurer les informations de connexion pour éviter de re- demander l'autorisation à chaque connexion
bufGoogleConnexion est un Buffer
sNomFichierTokenGoogleest une chaîne=fRepDonnées()+"\tokengoogle.bin"

//on a précédemment mémorisé une connexion ?
SIfFichierExiste(sNomFichierTokenGoogle)ALORS
 //On restaure la connexion avec les autorisation qu'elle a pour ne pas re-demander à chaque fois les autorisations
 QUAND EXCEPTION DANS
  Désérialise(googleConnexion,fChargeBuffer(sNomFichierTokenGoogle),psdBinaire)
 FAIRE
  //Echec de la dé-sérialisation, le fichier est peut-être endommagé
  //=> il y aura une nouvelle demande d'authentification à l'utilisateur
 FIN
FIN

//Connexion au compte Google
SI PASGglConnecte(googleConnexion,gglServiceAgenda)ALORS//==> Ici la première fois une fenêtre d'authentification va s'ouvrir à l'utilisateur
 Erreur(ErreurInfo())
SINON
 //Mémorisation de la connexion Google avec les informations d'autorisation
 Sérialise(googleConnexion,bufGoogleConnexion,psdBinaire)
 fSauveBuffer(sNomFichierTokenGoogle,bufGoogleConnexion)
 Info("Connecté")
FIN

Comment obtenir la liste des modules utilisés par WINDEV, WEBDEV ou WINDEV Mobile ?

$
0
0
Notre support peut être amené à vérifier la liste des modules en place sur un poste de développement. Voici la méthode à utiliser afin d'obtenir simplement une copie de tous les modules installés : 

  1. "à propos" dans l'éditeur de WINDEV, WEBDEV ou WINDEV Mobile 

  2. cliquer sur le bouton "..."

  3. dans la fenêtre "Informations sur les fichiers...", cliquer sur "Copier"

Le presse-papier contient alors l'ensemble des modules de la station, il suffit de le coller en réponse à la demande envoyée par notre support.

Versions 20 de WINDEV, WEBDEV et WINDEV Mobile disponibles (PV) dans l'espace téléchargement de notre site !

$
0
0
Pré-Versions 20 de WINDEV, WEBDEV et WINDEV Mobile disponibles dans l'espace téléchargement de notre site !

Voici les liens vers les pages détaillant les nouveautés activées dès les Pré-Versions :

La brochure des nouveautés habituellement disponible uniquement en PDF et EBook est cette année également intégrée à l'aide en ligne. Il est donc possible depuis l'aide d'accéder aux descriptions des nouveautés :

Si une nouveauté n'est pas encore documentée, la rédaction de l'aide et ses illustrations peut parfois nécessiter un délai supplémentaire, il est ainsi toujours possible d'avoir la description de la nouveauté parue dans la brochure !

Consultez régulièrement notre blog et Twitter pour être informé "en live" des nouvelles documentations disponibles (doc manquantes actuellement mais qui vont être ajoutées en priorité : racinisation, vues HFSQL, Pull To refresh, tables mobiles, jauges infinies).

Lors de l'envoi d'une demande de support concernant le développement d'applications pour iOS avec WINDEV Mobile, pensez à bien spécifier les périphériques concernés, et la version de iOS !

$
0
0
L'offre Apple a été considérablement étoffée ces dernières années, il y a maintenant une grande diversité de matériels : 
  • iPhone : 4, 4s, 5, 5c, 5s, 6, 6+ 
  • iPad : 1, 2, 3, air, mini (...)
  • iPod.

Ces périphériques utilisent des processeurs différents (32 ou 64 bits à partir de l'iPhone 5s), des résolutions différentes (une même application peut nécessiter de plus de mémoire si l'écran est "rétina").

En parallèle il y a les évolutions de iOS. Les nouvelles versions ajoutent le support des fonctions supplémentaires des nouveaux périphériques, tout en restant compatibles avec la majeure partie des périphériques plus anciens. Par exemple iOS 8 de septembre 2014 incluant les nouveautés pour l'iPhone 6 et 6+, peut être installé sur un iPhone 4s de 2011.

Cette multiplication des périphériques, des processeurs, des résolutions et des versions de iOS peut être à l'origine de "comportements" différents d'une même application sur différents appareils, indépendamment de l'environnement de développement.

Ainsi pour toute demande formulée à notre support par "Requête au support technique" (bouton "Aide") de WINDEV Mobile, relative à une application iOS, précisez bien systématiquement : 
  • la version de Xcode utilisée pour compiler,
  • la version exacte de iOS qui est concernée, 
  • le modèle exact du périphérique,
  • si vos tests ont déjà mis en évidence un lien avec un périphérique ou une version de iOS, précisez également les périphériques et/ou les versions de iOS avec lesquels à l'inverse le cas n'est pas reproductible.

Notez qu'en phase de sortie d'une version de iOS, comme pour tout système d'exploitation, il y a nécessairement besoin de réglages réguliers de la part de l'éditeur. Par exemple avec iOS 8 de septembre 2014, il y a eu en moins de 3 mois les versions 8.0.1, 8.0.2, 8.1, 8.1.1, 8.1.2, et la bêta 8.2 est annoncée. Dans les semaines qui suivent une mise à jour majeure d'un système, il est donc important de bien vérifier que les périphériques sont à jour, de nombreuses difficultés sont supprimées simplement par l'application de la dernière version mise à disposition de l'OS...


Racinisation, synonymes et mots creux des index full-text de HFSQL, mise à jour de l'aide en ligne...

WINDEV WEBDEV et WINDEV Mobile 20 sont disponibles en version finale

Dans un contexte Intranet, comment configurer IIS 7.5 pour que les sessions WebDev héritent des droits Windows de l’utilisateur connecté au site ?

$
0
0
Dans un contexte Intranet, il peut être intéressant de donner à la session WebDev les droits réseau de l'utilisateur final. Cela permet par exemple de connaître son login (RéseauUtilisateur), de lancer une application sur son poste (LanceAppliDistante), etc...
Pour donner les droits réseau de l'utilisateur connecté, il faut indiquer à IIS que l'authentification ne sera pas anonyme mais qu'elle sera de type authentification Windows. 

1 – Ajouter à IIS, la fonctionnalité " Authentification Windows " : 

Dans le panneau de configuration du serveur, choisissez l'option Programmes et Fonctionnalités, puis Activer ou désactiver des fonctionnalités de Windows.


Ajoutez l'option Authentification Windows

Redémarrez le serveur.

2 – Modifier les paramètres d'authentification de IIS :

Dans le gestionnaire de service Internet (IIS) accessible depuis le panneau de configuration, Outils d'administration, Gestionnaire de services Internet (IIS), choisissez votre serveur Web, puis double cliquez sur Authentification.


Il faut désactiver l'Authentification anonyme et activer l'Authentification Windows.

Enfin, Redémarrez IIS et votre site Web Intranet donnera les droits utilisateurs Windows à vos sessions WebDev. 



L'hébergement de test gratuit dispose maintenant du serveur d'application WEBDEV 20

$
0
0
Le serveur d'application disponible sur l'hébergement de test gratuit a été mise à jour en version 20 :


L'hébergement de test peut donc recevoir des sites déployés depuis WEBDEV 20. Le déploiement de sites depuis WEBDEV 19 reste également possible.

Nouveaux onglets dynamiques : Attention aux contextes HFSQL manipulés dans ces onglets !

$
0
0
Depuis la version 20 de WinDev, il est possible de créer des onglets dynamiques. Cette nouveauté permet d'enrichir de manière considérable vos interfaces. Ces onglets dynamiques fonctionnent comme les onglets des navigateurs et permettent de visualiser plusieurs fois la même interface. Chaque interface gérant un contexte différent.

On peut par exemple, afficher plusieurs clients, plusieures commandes d'un même client, plusieurs résultats de recherche, etc... 

Dès que cette interface est liée à un fichier HFSQL ou Accès Natif (Oracle, SQL server, MySQL, etc...) WinDev gère automatiquement le contexte fichier (appelé dans tous les cas contexte HFSQL). Ce contexte permet à tous les champs et aux variables fichier manipulés dans l'interface de toujours afficher et pointer sur l'enregistrement courant.  

Dans le cas des onglets MDI, il est primordial que le contexte entre chacun des onglets ne soit pas partagé. Pour cela, il suffit de cocher dans la fenêtre interne utilisée dans l'onglet : " Contexte HFSQL indépendant ". Ainsi WinDev va gérer automatiquement un contexte HFSQL indépendant à chaque onglet.

Viewing all 1435 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>