Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

QR codes et codes à barres sous Delphi

webinaire Delphi

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

QR codes et codes à barres sous Delphi

  1. 1. QR codes et codes à barres sous Delphi Webinaire du 26 mars 2019 (c) Patrick Prémartin / developpeur-pascal.fr
  2. 2. Au menu du jour • Introduction • C’est quoi un QR code ou un code à barres ? • La génération de QR codes et codes à barres • La lecture de QR codes et codes à barres • Cas pratique : fiches de lecture • Conclusion • Questions / réponses (c) Patrick Prémartin / developpeur-pascal.fr
  3. 3. Introduction (c) Patrick Prémartin / developpeur-pascal.fr
  4. 4. Patrick Prémartin • Ancien utilisateur de Turbo Pascal, amoureux de Delphi depuis toujours, développeur web depuis NCSA Mosaic… • Prestataire et formateur à travers sa société Olf Software. • Editeur du blog https://developpeur-pascal.fr/ • MVP Embarcadero depuis octobre 2017. • Auteur d’articles, de livres, webinariste et parfois même conférencier. (c) Patrick Prémartin / developpeur-pascal.fr
  5. 5. A propos de Olf Software • Depuis octobre 2001 la société de services Olf Software propose des prestations de conseil, développement et formation sur les technologies liées au web et au développement logiciel. • La société édite également des livres, des sites Internet et des logiciels. • Site web principal : https://olfsoftware.fr (c) Patrick Prémartin / developpeur-pascal.fr
  6. 6. Organisme de formation • Olf Software propose des formations en lien avec Delphi. • Des formations inter entreprises sont organisées régulièrement et annoncées sur https://se-former-a-delphi.fr/ • Des formations intra entreprise personnalisées sont faisables sur demande partout en France et en Europe. • Olf Software est un organisme de formation professionnelle enregistré en préfecture et référencé sur Datadock. Nos formations peuvent être prises en charge par les OPCA. (c) Patrick Prémartin / developpeur-pascal.fr
  7. 7. Les versions de Delphi • Plusieurs licences de Delphi existent (vendu seul ou dans RAD Studio): • Academic : pour les établissements d’enseignement et leurs étudiants • Community Edition : gratuit pour tous, en licence commerciale limitée • Professional, Enterprise, Architect : pour les entreprises, selon leurs besoins • Pour toutes informations sur les licences et les tarifs contactez la société Barnsten sur https://www.barnsten.com/fr/ (c) Patrick Prémartin / developpeur-pascal.fr
  8. 8. Les webinaires précédents • Je participe régulièrement à des webinaires. Une page leur est consacrée sur mon blog à l’adresse https://vasur.fr/webinairesdelphi • Vous y trouverez les rediffusions en vidéos lorsqu’elles sont disponibles, un PDF de mes présentations, le lien vers les sources des exemples présentés et des informations complémentaires. • S’y trouvent aussi les dates et liens d’inscriptions pour les prochains webinaires, conférences et formations. (c) Patrick Prémartin / developpeur-pascal.fr
  9. 9. Introduction • Présentation de la société Olf Software https://www.olfsoftware.fr • Présentation de Patrick Prémartin https://www.linkedin.com/in/patrickpremartin/ • Les différentes versions de Delphi https://www.embarcadero.com/fr/products/delphi • Voir ou revoir les webinaires précédents https://vasur.fr/webinairesdelphi (c) Patrick Prémartin / developpeur-pascal.fr
  10. 10. Introduction • Aujourd’hui nous allons parler de QR codes et codes à barres : • Ce qu’ils représentent. • A quoi ils servent. • D’autres technologies pour faire la même chose. • Comment les utiliser dans Delphi. (c) Patrick Prémartin / developpeur-pascal.fr
  11. 11. QR code, code à barres, c’est quoi ? (c) Patrick Prémartin / developpeur-pascal.fr
  12. 12. Qu’est-ce qu’un code à barres ? • Les codes à barres sont une forme de codage de chiffres et lettres dans un rectangle composé de traits verticaux noirs sur fond blanc. • Il existe de nombreux types de codes à barres. Ci-dessous un « interleave 2 of 5 » et un « code 39 ». Le dessin permet de déterminer le type utilisé et le contenu codé. • Plus d’infos sur https://en.wikipedia.org/wiki/Barcode (c) Patrick Prémartin / developpeur-pascal.fr
  13. 13. Qu’est-ce qu’un QR code ? • On assimile les QR codes à des codes à barres 2D. Il en existe de nombreux formats que vous retrouverez aussi sur https://en.wikipedia.org/wiki/Barcode • Plus complexes que les codes à barres, les QR codes sont utilisés pour stocker des informations en plus gros volume avec un certain niveau de redondance. • Quand un code à barres est partiellement effacé, on perd tout. Les QR codes contribuent à limiter ce problème. (c) Patrick Prémartin / developpeur-pascal.fr
  14. 14. A quoi servent-ils ? • Les codes à barres sont généralement utilisés pour identifier des objets. • Les QR codes permettant de stocker plus d’informations dans un volume plus petit ils servent à identifier des objets ou des lieux mais également à transporter des informations ou les stocker d’une façon plus facilement lisible par des automates. • Les cas d’usages les plus courants sont les étiquettes produits (codes à barres et maintenant QR codes sur les livres et spiritueux), les étiquettes d’expédition des colis (codes à barres pour le numéro de colis, QR code pour redonder l’adresse et certaines informations de colisage) et les billets de train ou de spectacles. (c) Patrick Prémartin / developpeur-pascal.fr
  15. 15. A quoi servent-ils ? • Dans notre monde « augmenté » on utilise des QR codes un peu partout : sur des abribus, dans des magasins, dans des musées, sur des lieux touristiques, sur les menus des restaurants, … • Ces tags contiennent soit des informations interprétées par une application mobile, soit des URL qui peuvent renvoyer vers des pages web quand on n’a pas l’application concernée soit être interprétées par l’applications associée. • On retrouve codes à barres ou QR codes sur les cartes d’étudiants, les cartes de fidélité, les badges d’entreprises, … (c) Patrick Prémartin / developpeur-pascal.fr
  16. 16. Quel intérêt ? • Codes à barres et QR codes ne coûtent rien à produire et peuvent être soit imprimés, soit tatoués, soit directement affichés sur des écrans, il est donc très facile de les utiliser. • Tous les appareils capables de capturer une image ont désormais une application de lecture de ces codes, on peut donc utiliser un smartphone directement sans avoir besoin d’équipement spécifique. • L’inconvénient c’est qu’ils sont reproductibles et lisibles par n’importe qui en ayant pris l’image. On ne doit donc pas s’en servir pour des informations sensibles ou gérer des accès sécurisés. (c) Patrick Prémartin / developpeur-pascal.fr
  17. 17. Les alternatives • Quand on parle d’accès sécurisés on entre plutôt sur des technologies utilisant les RFID et NFC que liées aux QR codes et codes à barres simples. • Si aller plus loin sur ce sujet vous intéresse je vous recommande la session « Integrating with Barcode and RFID Readers » de Fernando Rizzato lors du Code Rage 2018 organisé par Embarcadero: https://www.embarcaderoacademy.com/courses/441209/lectures/84 41956 (c) Patrick Prémartin / developpeur-pascal.fr
  18. 18. La génération de QR codes et codes à barres (c) Patrick Prémartin / developpeur-pascal.fr
  19. 19. Générer des codes 1D et 2D • Les normes de chaque type de codes à barres (1D) et codes 2D sont connues, il est donc possible de tout faire à la main. Il suffit de dessiner ce que l’on veut obtenir dans une image. • Ni Delphi 10.3.1 Rio, ni ses prédécesseurs ne proposent de composant ou librairie pour générer des codes à barres ou QR codes. • Si on ne veut pas tout coder soi-même on peut passer par des composants externes ou l’une des libraires open source existantes (Zint ou Zxing pour les plus connues). (c) Patrick Prémartin / developpeur-pascal.fr
  20. 20. Générer des codes 1D et 2D • Les outils de génération d’état intègrent généralement une solution pour avoir des codes 1D ou 2D sur les listings qu’ils génèrent. C’est notamment le cas de Fast Report et Rave Report. • Pour le reste (écrans, exports sous forme d’images) il y a de nombreuses possibilités. J’ai choisi 4 solutions à vous présenter : • Winsoft • TMS Software • Han Soft • La librairie « DelphiZXingQRCode » dispo sur GitHub. (c) Patrick Prémartin / developpeur-pascal.fr
  21. 21. A propos de Winsoft • La société Winsoft s’est spécialisée dans l’empaquetage en Delphi de librairies open sources. • On retrouve de nombreuses choses sous forme de composants ou d’unités, pour la VCL ou FMX, depuis leur site. • Ils proposent des licences par pack ou globale avec l’utilisation à vie, un an de mises à jour et un support par email. • Leur site web : https://www.winsoft.sk (c) Patrick Prémartin / developpeur-pascal.fr
  22. 22. Génération avec Winsoft • Pour la génération de codes 1D et 2D Winsoft se base sur la librairie open source Zint. • Ces composants sont disponibles avec les DLL et équivalents pour la VCL et FMX : • https://www.winsoft.sk/barcode.htm • https://www.winsoft.sk/fbarcode.htm (c) Patrick Prémartin / developpeur-pascal.fr
  23. 23. Génération avec Winsoft Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  24. 24. A propos de TMS Software • Tout développeur Delphi a forcément entendu parler de cet éditeur à un moment ou un autre de sa carrière. • TMS Software édite de nombreux packs de composants pour Delphi (VCL, FMX et IntraWeb) et maintenant aussi pour Lazarus. • Depuis un an TMS Software a sorti une solution permettant de faire des sites web en Pascal depuis Delphi et continue à mettre à jour régulièrement ses packs notamment dans le domaine de la cryptographie et le cloud. • Leur site web : https://www.tmssoftware.com/ (c) Patrick Prémartin / developpeur-pascal.fr
  25. 25. Génération avec TMS Software • TMS Software ne propose pas directement de solution pour générer des codes à barres ou QR codes en revanche ils passent pas l’API du site Barcodes4Me. • Le composant est présent dans leurs packs cloud pour VCL, FMX et LCL: • https://www.tmssoftware.com/site/cloudpack.asp • https://www.tmssoftware.com/site/tmsfmxcloudpack.asp (c) Patrick Prémartin / developpeur-pascal.fr
  26. 26. Génération avec TMS Software • Les composants de TMS génèrent une image que l’on peut enregistrer directement ou une URL qu’il faut appeler pour récupérer l’image générée. • Dans un cas comme dans l’autre, ils passent par un site externe et ça implique donc que le site soit accessible et opérationnel. (c) Patrick Prémartin / developpeur-pascal.fr
  27. 27. Génération avec TMS Software Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  28. 28. A propos de Han-soft • L’éditeur Han-soft édite des packs de composants 1D et 2D pour Delphi depuis sa création en 2001. • D’autres outils sont disponibles comme un logiciel de backup, un logiciel de tunneling et des logiciels gratuits pour générer des codes à barres (développés en Delphi avec leurs composants). • Leur site web : https://www.han-soft.com (c) Patrick Prémartin / developpeur-pascal.fr
  29. 29. Génération avec Han-soft • Han-soft propose trois packs de composants pour générer des codes 1D et des codes 2D. • https://www.han-soft.com/barcode1d.php • https://www.han-soft.com/barcode2d.php • https://www.han-soft.com/barcodefmx2d.php • Ces packs de composants sont payants. Leur licence inclut une utilisation à vie et des mises à jour. (c) Patrick Prémartin / developpeur-pascal.fr
  30. 30. Génération avec Han-soft • L’approche est différente des composants Winsoft ou TMS Software car ici c’est du développement en Pascal complètement indépendant d’une librairie extérieure ou d’un site web. • Il y a un composant par type de code 1D (VCL uniquement) ou 2D (VCL ou FMX). • Chaque composant permet un export de l’image dans différents formats et bien entendu l’affichage à l’écran. • Cette solution permet également de s’interfacer avec les outils de reporting habituels. (c) Patrick Prémartin / developpeur-pascal.fr
  31. 31. Génération avec Han-soft (c) Patrick Prémartin / developpeur-pascal.fr
  32. 32. Génération avec Han-soft Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  33. 33. La solution open source • Il existe aussi des solutions open source dont celle-ci sur GitHub: « DelphiZXingQRCode ». C’est un portage Delphi partiel de la librairie Zxing. • Le téléchargement se fait depuis cette page : • https://github.com/foxitsoftware/DelphiZXingQRCode • Sa présentation est disponible sur cette page : • https://www.debenu.com/open-source/delphizxingqrcode/ (c) Patrick Prémartin / developpeur-pascal.fr
  34. 34. La solution open source • La librairie « DelphiZXingQRCode » est gratuite. • Elle est libre d’utilisation y compris pour un usage commercial. • Elle ne permet de générer que des QR codes. • Elle ne fait pas le dessin elle même, c’est à nous de le faire. Un exemple est fourni dont on a juste à copier coller le source. (c) Patrick Prémartin / developpeur-pascal.fr
  35. 35. Génération avec DelphiZXingQRCode Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  36. 36. La lecture de QR codes et codes à barres (c) Patrick Prémartin / developpeur-pascal.fr
  37. 37. Lire des codes à barres et QR • La lecture de codes à barres et QR codes nécessite un peu de reconnaissance de formes car elle se fait depuis une image. • L’image contenant le code à interpréter peut provenir d’un flux vidéo, d’une photo ou d’un fichier selon les cas. • D’une façon générale notre logiciel doit fournir une trame (image fixe et idéalement pas floue) à la librairie qui y recherche le ou les codes présents et nous en fournit la liste. (c) Patrick Prémartin / developpeur-pascal.fr
  38. 38. Lire des codes à barres et QR • Delphi ne possède pas de librairie ou de composant capable de traiter les images pour en ressortir les codes 1D ou 2D présents. • Comme pour la génération on doit faire appel à un ami mais pas de chance il y a une séance d’aqua poney à leur club de sport. • Parmi les solutions que j’ai pu trouver, j’ai retenu ces deux là : • Winsoft • La librairie « ZXing.Delphi » dispo sur GitHub (c) Patrick Prémartin / developpeur-pascal.fr
  39. 39. Lire des codes à barres et QR • Si on en a la possibilité il est préférable d’utiliser des douchettes ou scanners dédiés à la lecture des codes à barres et autres codes. Ils sont plus pratiques à manier pour l’utilisateur car ils n’imposent pas l’étape de prise de photo. (c) Patrick Prémartin / developpeur-pascal.fr
  40. 40. Lire des codes à barres et QR • Il existe des smartphones équipés de scanners dédiés, agissant comme une douchette ou transmettant leurs infos en bluetooth, en série ou par l’intermédiaire d’une API constructeur. • Fernando Rizzato en parle dans sa session du CodeRage 2018. Regardez là pour savoir quels équipements il préconise et comment il s’en sert sous Delphi. • https://www.embarcaderoacademy.com/courses/441209/lectures/8441956 (c) Patrick Prémartin / developpeur-pascal.fr
  41. 41. Lecture avec Winsoft • Comme il existe des librairies open source pour la reconnaissance de codes à barres et QR codes, Winsoft propose plusieurs packs de composants. • Basés sur la librairie Zbar : • https://www.winsoft.sk/obr.htm • https://www.winsoft.sk/fobr.htm • Basés sur la librairie Zxing : • https://www.winsoft.sk/obrlib.htm • https://www.winsoft.sk/fobrlib.htm • https://www.winsoft.sk/aobrlib.htm (c) Patrick Prémartin / developpeur-pascal.fr
  42. 42. Lecture avec Winsoft • Je ne vais parler que de « obr » et « fobr » qui sont sous la forme de composants alors que les autres ne sont accessibles que par le code. • Contrairement aux packs basés sur Zxing, le pack « Optical Barcode Recognition for FireMonkey » fonctionne sur iOS, Android, macOS et Windows. • Ces packs sont payants et embarquent les DLL et équivalents nécessaires. A nous de les déployer avec nos logiciels. (c) Patrick Prémartin / developpeur-pascal.fr
  43. 43. Lecture avec Winsoft Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  44. 44. La solution open source • Sur GitHub on peut trouver la librairie « ZXing.Delphi » qui est un portage de la librairie Java correspondante. • Cet ensemble de composants permet de reconnaître les codes 1D et 2D les plus courants comme c’est le cas avec les composants de Winsoft. (c) Patrick Prémartin / developpeur-pascal.fr
  45. 45. La solution open source • La librairie ZXing d’origine n’est plus maintenue, celle-ci risque par conséquent de ne pas l’être non plus. • Faites donc le bon choix selon vos besoins entre le « natif Delphi » de cette librairie et le « embarque la DLL ZBar » pour la solution de Winsoft. • Aucune documentation n’est fournie, il faut donc bidouiller en s’inspirant des exemples et regarder dans les options de projet les chemins de recherche d’unités à inclure. (c) Patrick Prémartin / developpeur-pascal.fr
  46. 46. Lecture avec Zxing.Delphi Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  47. 47. Cas pratique : fiches de lecture (c) Patrick Prémartin / developpeur-pascal.fr
  48. 48. Cas pratique : fiches de lecture • Ayant vu comment générer et lire des codes dans nos logiciels, je vous propose un cas pratique : une application permettant de consulter des données liées à des livres sur un réseau local. • J’ai découpé ce logiciel en 3 parties : • Un programme qui servira à configurer l’application mobile. • Un programme de gestion de la base de données de livres. • Une application mobile qui lira les codes à barres et affichera le titre des livres. (c) Patrick Prémartin / developpeur-pascal.fr
  49. 49. Utilisation de l’AppTethering • Suite à une demande d’exemples sur developpez.com j’ai utilisé l’AppTethering pour faire discuter les programmes entre eux. • L’AppTethering est une technologie permettant de partager des données et actions entre programmes sur le réseau local ou en Bluetooth grâce à l’utilisation de deux composants. • Le TTetheringManager gère les connexions et recherches de partenaires. • Le TTetheringProfile gère les ressources et actions partagées. (c) Patrick Prémartin / developpeur-pascal.fr
  50. 50. Utilisation de l’AppTethering • Ici j’utilise l’association automatique entre les différents programmes. • Chaque TTetheringManager devant s’associer a la même valeur dans la propriété Password. • Chaque TTetheringProfile (associé au bon TTetheringManager) a la même valeur dans la propriété Group pour dialoguer avec ses partenaires. • Plus d’infos sur http://docwiki.embarcadero.com/RADStudio/Rio/en/Using_App_Teth ering (c) Patrick Prémartin / developpeur-pascal.fr
  51. 51. Cas pratique : fiches de lecture Le programme de configuration (c) Patrick Prémartin / developpeur-pascal.fr
  52. 52. Le programme de configuration • Le programme de configuration est un écran tout simple développé avec IntraWeb. • On saisit le mot de passe que l’on veut utiliser entre les applications mobiles et le logiciel de gestion. • Le programme génère le QR code correspondant pour l’application mobile et envoi le mot de passe à l’application de gestion par l’intermédiaire de la ressource « Password » partagée en AppTethering. (c) Patrick Prémartin / developpeur-pascal.fr
  53. 53. Le programme de configuration • Notez que les composants non visuels sont au niveau du serveur et non de la session utilisateur ou de l’écran lui-même. Ca permet de s’assurer de leur existence et pérennité durant toute l’exécution de l’application. • Quand vous utilisez un système de type serveur comme celui-ci n’oubliez pas de gérer les synchronisations de threads. Là je n’ai qu’un seul utilisateur donc je ne risque pas de violations d’accès à chaque appel de page. (c) Patrick Prémartin / developpeur-pascal.fr
  54. 54. Cas pratique : fiches de lecture Le programme de gestion de la base de données (c) Patrick Prémartin / developpeur-pascal.fr
  55. 55. Le programme de gestion de la base de données • La base de données est gérée sous forme de table en mémoire avec un TFDMemTable persistant. • Etant en VCL pour ce programme j’ai opté pour des composants TDBxxx et un TDataSource pour les mises à jour plutôt que passer par Live Bindings. (c) Patrick Prémartin / developpeur-pascal.fr
  56. 56. Le programme de gestion de la base de données • La communication avec le configurateur se fait en App Tethering, le programme de gestion étant client de celui-ci. • La communication avec l’application mobile se fait dans les deux sens : une ressource partagée pour la lecture, un envoi de texte pour la réponse. • Dans une application classique il aurait mieux valu utiliser de vraies API (par exemple avec un serveur REST) ou du RPC. Là je détourne l’usage standard de l’App Tethering mais ça fonctionne très bien. (c) Patrick Prémartin / developpeur-pascal.fr
  57. 57. Cas pratique : fiches de lecture L’application mobile de lecture (c) Patrick Prémartin / developpeur-pascal.fr
  58. 58. L’application mobile de lecture • Pour l’application mobile il y a deux écrans gérés sous forme d’onglets. • Le premier sert à la configuration par la lecture du QR code contenant le mot de passe à utiliser en AppTethering. • Le second sert à la lecture des codes à barres des livres et à l’affichage de leur titre. (c) Patrick Prémartin / developpeur-pascal.fr
  59. 59. L’application mobile de lecture • La lecture se fait à l’aide de la caméra du smartphone. • Chaque trame est affichée à l’écran et une recherche de code 1D/2D est faite. • Sur la config : une fois le QR code trouvé on change la configuration du TTetheringManager et on lance l’auto connexion. • Sur la lecture: lorsque le programme trouve un code, il remplit la ressource « CB » partagée en AppTethering avec le programme de gestion de base. (c) Patrick Prémartin / developpeur-pascal.fr
  60. 60. L’application mobile de lecture • Lorsqu’un code est envoyé au gestionnaire de la base de données, on n’attend pas de réponse. Elle est gérée sous forme d’événement directement depuis le TTetheringProfile. (c) Patrick Prémartin / developpeur-pascal.fr
  61. 61. L’application mobile de lecture • Notez qu’il faut penser à désactiver la caméra lorsque l’application perd le focus, sinon on bloque le périphérique et aucune autre application ne peut l’utiliser. • Notez également que l’AppTethering fonctionne en « broadcast » sans notion de client / serveur. On peut lancer plusieurs exemplaires du programme de gestion de la base sur le réseau. Ils recevront tous les codes envoyés par les applications mobiles. Tenez en compte dans vos développements si vous utilisez l’AppTethering pour faire du client/serveur. (c) Patrick Prémartin / developpeur-pascal.fr
  62. 62. Exemple : fiches de lecture Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  63. 63. Bonus « poisson chat » (c) Patrick Prémartin / developpeur-pascal.fr
  64. 64. Bonus « poisson chat » • Les QR codes ont l’avantage d’être redondants, on peut donc les abimer volontairement en respectant certaines limites. C’est pour cela qu’on voit parfois des codes avec une image dedans. • C’est grâce à la redondance que ces codes restent lisibles. (c) Patrick Prémartin / developpeur-pascal.fr
  65. 65. Bonus « poisson chat » • On peut aller encore plus loin dans les modifications d’un QR code tout en conservant un certain niveau de lisibilité. • Ici, par exemple, j’utilise les points comme masque pour incruster le code dans une image. (c) Patrick Prémartin / developpeur-pascal.fr
  66. 66. Bonus « poisson chat » • Aucun des composants vus aujourd’hui ne gère ces modifications en standard mais on peut très bien le faire avec les filtres ou en copiant les images par un QR code généré. • Si vous « jouez » à ça pour vos codes pensez à ne pas trop déborder du centre du QR code ou de son angle bas / droite. • Si vous incrustez le code dans une image, il ne sera pas lisible par tous les logiciels. Dans le vôtre pensez à passer l’image en noir et blanc avant de lancer un scan dessus. (c) Patrick Prémartin / developpeur-pascal.fr
  67. 67. Conclusion (c) Patrick Prémartin / developpeur-pascal.fr
  68. 68. Conclusion • Les solutions proposées aujourd’hui ne sont pas les seules. Vous pourrez en trouver d’autres en cherchant sur Internet ou créer les vôtres selon les besoins. • Si vous avez besoin de transmettre des informations utilisez plutôt des QR codes qui sont lisibles par tout logiciel interprétant les codes 1D / 2D et lisibles nativement dans les versions récentes d’Android et iOS. • Pour les solutions sécurisées n’utilisez des codes imprimés qu’en secours de technologies hardware comme RFID / NFC et 2FA. (c) Patrick Prémartin / developpeur-pascal.fr
  69. 69. Conclusion • Ce webinaire et les sources des démos seront rapidement mis à disposition sur le blog https://developpeur-pascal.fr • Prochains événements en live : => meetup à Lille le 25 avril 2019 => journées de conférence à Lyon (14/05), Aix en Provence (16/05), Bordeaux (21/05) et Nantes (23/05) Nombre de places limitées, inscrivez-vous dès maintenant depuis https://www.barnsten.com/fr/evenements • Prochain webinaire le 23 avril : => Utiliser les assistants de l’EDI pour développer en multiplateforme (c) Patrick Prémartin / developpeur-pascal.fr
  70. 70. Questions / réponses (c) Patrick Prémartin / developpeur-pascal.fr

×