SlideShare une entreprise Scribd logo
1  sur  72
Télécharger pour lire hors ligne
Diffuser nos logiciels
et leurs mises à jour
Webinaire du 24 novembre 2020
PRÉSENTATEUR
MVP Embarcadero
Prestataire informatique freelance et formateur Delphi
CV et contacts :
https://www.linkedin.com/in/patrickpremartin/
Blog Delphi/Pascal :
https://developpeur-pascal.fr
Outils Embarcadero
Les meilleurs outils de développement multi-
plateformes. Créez une fois et déployez des
applications modernes sur chaque plateforme.
Support Technique
Nos techniciens sont à votre service à tout
moment pour répondre à vos questions et
vous fournir des informations sûres.
Distributeur Officiel
Partenaire exclusif de Embarcadero
Technologies, largement reconnu pour
ses produits de programmation primés.
B A R N S T E N
QUI
Site : https://www.barnsten.com – Contacts FR : equipe@barnsten.com
NOTRE
Société de prestations informatiques.
Edition de sites Internet, logiciels, vidéos et livres.
Centre de formation référencé sur Datadock.
Infos et contacts : https://olfsoftware.fr
Formations en entreprise : https://se-former-a-delphi.fr
Formations en ligne : https://apprendre-delphi.fr
O L F S O F T W A R E
INTROD
L'ancienne méthode qui consistait à vendre des
logiciels sur disquettes, CD-ROM, DVD ou même
clé USB est clairement passée de mode. Tout se
fait par téléchargement pour les logiciels desktop.
C’est aussi la norme pour les logiciels mobiles et
tablettes.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Chaque éditeur de système d'exploitation
propose son magasin d'applications dans lequel
ses utilisateurs peuvent trouver des logiciels
gratuits ou payants. Ces magasins d'applications
sont intégrés aux systèmes d'exploitation et
permettent d'automatiser les mises à jour lorsque
les développeurs publient une nouvelle version.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Le côté pratique (en apparence) pour les
utilisateurs apporte son lot de contraintes pour
les développeurs et éditeurs que nous sommes.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
A ce jour, selon leurs versions et éditions Delphi
et C++Builder proposent de cibler les systèmes
d’exploitation suivants :
- Windows 32 et 64 bits, processeur Intel
- macOS 32 et 64 bits, processeur Intel
- iOS 32 et 64 bits, processeur ARM
- Android 32 et 64 bits, processeur ARM
- Linux 64 bits, processeur Intel
© Patrick Prémartin / developpeur-pascal.fr
INTROD
Des plateformes ont été retirées de la version
10.4 car elles n’étaient plus disponibles pour
diffusion sur les magasins d’applications.
Avec les licences Pro/Ent/Arc vous pouvez
toujours télécharger une version antérieure et
continuer à cibler ces plateformes obsolètes.
Renseignez-vous auprès de votre distributeur.
© Patrick Prémartin / developpeur-pascal.fr
INTROD
La liste des cibles de compilation par plateforme
est disponible depuis le site de la documentation
et en direct sur
http://docwiki.embarcadero.com/PlatformStatus
/fr/Accueil
© Patrick Prémartin / developpeur-pascal.fr
INTROD
D’autres seront ajoutées dans les versions
suivantes selon la roadmap de novembre 2020.
Nous allons faire un tour de tout ça aujourd’hui.
© Patrick Prémartin / developpeur-pascal.fr
RAPPELS
L’environnement de développement intègre un
outil de déploiement qui recense la liste des
fichiers nécessaires au programme final et les
emplacement d’origine et destination.
Le gros du travail est fait automatiquement. Seuls
les fichiers que l’on ajoute nous-mêmes doivent y
être mis à la main.
© Patrick Prémartin / developpeur-pascal.fr
RAPPELS
L’opération de déploiement en elle-même se fait
uniquement en configuration RELEASE. Elle est
désactivée ou masquée en DEBUG (selon la
version).
L’action de déploiement se fait en fonction de la
plateforme et la configuration choisie.
© Patrick Prémartin / developpeur-pascal.fr
RAPPELS
Les options de l’environnement proposent des
prérenseignements liés à l’approvisionnement
des types de configuration (certificats de
développement, fichiers de signature, …).
Ces infos comme les actions de déploiement se
font au niveau de chaque projet.
© Patrick Prémartin / developpeur-pascal.fr
RAPPELS
Le travail sous des projets Windows ne nécessite
pas de configuration particulière.
Pour Android vous devez connecter vos appareils
en direct ou les avoir sur le réseau local.
Pour Linux vous devez avoir PAServer lancé et
accessible par une IP sur un appareil sous Linux.
© Patrick Prémartin / developpeur-pascal.fr
RAPPELS
Pour iOS et macOS vous devez avoir un PAServer
lancé et accessible par IP sur un Mac.
Il vous faut ensuite déclarer les profils de
connexion pour que l’IDE dialogue avec les
PAServer de votre réseau.
© Patrick Prémartin / developpeur-pascal.fr
RAPPELS
Et finalement, pour chaque cible de compilation
vous devez déclarer ou importer le SDK
correspondant.
Toutes ces étapes ont été détaillées lors du
webinaire du 5 novembre 2019 sur le
déploiement et débogage à distance.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La plateforme Windows concerne tous les projets
32 ou 64 bits en mode console, en service
Windows ou avec interface utilisateur (VCL ou
FMX).
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Nous avons 2 configurations en RELEASE :
- Magasin d’applications / Magasin
=> APPX, Microsoft Store
- Magasin d’applications / Ad-hoc
=> EXE signé, diffusion libre
- Normal
=> EXE, diffusion libre
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Nous avons 2 configurations en RELEASE :
- Magasin d’applications / Magasin
=> APPX, Microsoft Store
- Magasin d’applications / Ad-hoc
=> EXE signé, diffusion libre
- Normal
=> EXE, diffusion libre
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
En Magasin/Ad-hoc ou en normal, sauf si vous
diffusez des logiciels internes à votre entreprise,
n’utilisez pas votre propre certificat. Achetez un
« code signing certificat » officiel (payant, valide 1
à 3 ans) pour être accepté par les versions
récentes de Windows et éviter de titiller
Windows Defender SmartScreen.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
En configuration normale vous pouvez utiliser un
PAServer (local ou distant) pour bénéficier de
l’outil de déploiement proposé dans l’IDE.
Il est cependant recommandé d’utiliser un logiciel
de création d’installeur comme Inno Setup, NSIS,
RAD&Installer, InstallAware (ou via GetIt) et tant
d’autres disponibles sur les zinzinternets.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Pour la diffusion vous avez le choix :
- Microsoft Store
- En direct sur CD-ROM, DVD-ROM, clé USB,
téléchargement, transfert de fichier, …
- De nombreux sites (ex: 01net) proposent de
diffuser des logiciels pour Windows. Certains
ajoutent des programmes en option, méfiez-
vous pour le bien être de vos utilisateurs.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Le format de paquet MSIX (remplaçant du APPX)
est envisagé pour la version 10.4.2 selon la
roadmap de novembre 2020.
Ce sera transparent pour les développeurs.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La plateforme macOS concerne les projets 32 et
64 bits à destination des ordinateurs conçus par
Apple avec un processeur Intel.
Le compilateur macOS 64 bits pour les
processeurs Apple Silicon est envisagé pour la
version 10.5.0 selon la roadmap de novembre
2020.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Jusqu’en version 10.3.3 Rio nous avions 2
configurations possibles pour macOS 32 bits :
- Normal
=> APP, diffusion compliquée
- Magasin d’application
=> PKG, Mac AppStore ou diffusion libre
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Pour macOS en 64 bits nous avons 3
constructions :
- Normal
=> APP, diffusion compliquée
- Magasin d’application
=> PKG, Mac AppStore
- ID Développeur
=> APP notarié dans un ZIP, diffusion libre
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Un compte développeur Apple est nécessaire
pour obtenir les certificats de signature.
macOS les vérifie et bloque ou restreint l’usage
de programmes non vérifiables.
Ils sont nécessaires pour diffuser ses logiciels en
passant par Apple ou en direct avec les supports
physiques habituels ou en téléchargement.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La diffusion sur le Mac AppStore est soumise à
accord de Apple. Elle peut se faire gratuitement
pour les utilisateurs ou être payante.
Les mises à jour sont gérées automatiquement
mais chacune doit également passer le processus
de validation d’Apple.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La diffusion sur le Mac AppStore est limitée dans
le temps. Si le compte développeur n’est pas
renouvelé, le logiciel disparaît et n’est plus
téléchargeable y compris pour les utilisateurs
l’ayant acheté.
L’achat est valide pour tous les appareils liés au
compte Apple de l’utilisateur.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
En diffusion directe (donc macOS 64 bits notarié),
c’est à nous de tout gérer mais il n’y a aucune
contrainte ergonomique ou de règle bizarre à
suivre une fois la validation automatique du
programme passée.
On peut sortir le APP du ZIP et l’inclure dans un
paquet autoinstallable qu’il faudra aussi notarier
ou un disque virtuel (DMG).
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La diffusion libre des programmes peut
généralement se faire sur les mêmes sites que les
logiciels pour Windows.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La plateforme iOS concerne les projets 32 et 64
bits à destination des smartphones et tablettes
conçus par Apple : iPhone, iPad, iPod touch et
leurs déclinaisons.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Considérez la plateforme iOS 32 bits comme
obsolète et enterrée sauf si vous avez encore
des appareils tournant avec.
Le déploiement Ad-hoc n’est plus possible ce
qui empêche de toucher des utilisateurs
inconnus. Le déploiement en direct ne peut se
faire sur les appareils déclarés sur le compte du
développeur (dans la limite de 1000 par type).
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Pour iOS 64 bits nous avons 3 types de
construction possibles :
- Ad-hoc
- Magasin d’applications
- Développement
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La construction « développement » se fait
directement sur les appareils connectés à un
Mac associé « relié » PC de développement par
le PAServer.
Seuls les appareils déclarés sur le compte Apple
du développeur exécuteront ces programmes.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Le mode Ad-hoc n’est disponible que pour les
détenteurs d’un compte développeur Entreprise
qui leur permet d’utiliser un AppStore dédié.
Ils doivent passer par là pour déployer leurs
logiciels sur le parc d’appareils qu’ils ont déclaré
dans leur compte d’entreprise.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Enfin, le déploiement sur l’AppStore est soumis
à accord de la part d’Apple et fonctionne
comme le Mac AppStore : une validation
technique, une validation « humaine », ça passe
ou on doit faire des modifications détaillées
dans le retour des testeurs.
Les mises à jour sont gérées automatiquement
mais elles doivent passer la validation.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
En version 10.3.x Rio on peut embarquer un
binaire iOS 32 bits dans un paquet de
déploiement iOS 64 bits.
Ce n’est plus le cas à partir de la version 10.4.0
Sydney qui cible une version minimale d’iOS ne
tournant pas sur les vieux iPhone, iPod touch et
iPad susceptibles de tourner en 32 bits.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Il y a quand même une solution pour déployer un
logiciel sur des smartphones et tablettes Apple
sans passer par l’AppStore : l’application
TestFlight.
Son utilisation pour diffusion publique est une
infraction aux règlements d’Apple et peut
entrainer la coupure du compte développeur.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
TestFlight a été mis à disposition pour les tests
grandeur nature d’applications mobiles.
Ca fonctionne sur invitation depuis le compte
développeur et permet donc de toucher des
appareils sur lesquels on n’a pas la main.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
On est limité en appareils de test.
L’application est déployée pour un maximum de
90 jours. Il faut donc déployer un binaire différent
au moins une fois par trimestre.
L’application fonctionne en sandbox. Aucun achat
intégré n’est traité.
C’est à utiliser pour des tests et dans des cas de
déploiements très restreints. Soyez prudents.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
On peut utiliser le même compte développeur
pour travailler avec tout type d’appareils et SDK
fournis par Apple.
Le compte développeur et ses certificats font
l’objet d’un renouvellement annuel payant.
Le non renouvellement ou sa résiliation entrainent
la suppression des applications de l’AppStore
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La plateforme Android concerne les projets 32 et
64 bits à destination des smartphones et
tablettes utilisant cet environnement mais aussi
les appareils AndroidTV comme démontré lors du
webinaire du 29 septembre 2020.
Le compilateur Android cible des processeurs
ARM.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Deux types de construction sont disponibles pour
Android 32 bits. Dans les deux cas on obtient un
fichier APK.
En développement il n’est pas signé.
En magasin d’application il est signé par le
certificat à fournir. Ce certificat peut être
autogénéré. Il verrouille les mises à jour.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Deux types de construction sont disponibles pour
Android 64 bits. Dans les deux cas on obtient un
fichier APK.
En développement il n’est pas signé.
En magasin d’application il est signé par le
certificat à fournir. Ce certificat peut être
autogénéré. Il verrouille les mises à jour.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Les fichiers APK peuvent être diffusés en direct ou
par l’intermédiaire de magasins d’application.
Il est fortement recommandé de diffuser
uniquement la version signée car ça interdit le
remplacement par une version n’ayant pas été
signée avec le même certificat et donc les
usurpations d’identité de développeurs.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La plateforme Android est laxiste : on peut
diffuser n’importe quoi n’importe comment (ou
presque) tant qu’on utilise les API du bon niveau
de SDK fourni par Google.
Un simple lien internet vers un APK peut
déclencher son installation (après accord de
l’utilisateur de l’appareil).
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Il existe de nombreux magasins d’applications :
- Le plus connu reste le Play Store de Google.
- Amazon permet de diffuser des APK pour ses
Kindle Fire et les appareils disposant de son
application.
- D’autres magasins d’applications existent.
Vous en trouverez une bonne sélection sur cet
article de FrAndroid.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Si vous passez par le Play Store vous avez accès
aux achats intégrés et aux API classiques de
Google.
Google n’accepte plus que des APK en 64 bits ou
des bundle 32/64 que vous pouvez créer depuis
RAD Studio.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Les autres magasins d’applications proposent
parfois des API compatibles avec le Play Store
mais ne comptez pas utiliser les composants
d’achats intégrés fournis dans FireMonkey sans
vérifier les librairies et SDK utilisés sur chaque
site.
Tous acceptent des APK 32 bits.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Chaque magasin d’application a ses règles de
contrôle des applications proposées ou ses
thématiques. Faites le tour en fonction de vos
utilisateurs cibles.
Vous pouvez aussi créer votre propre magasin
d’application et le diffuser sur les autres
plateformes ou en direct.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
La plateforme Linux concerne les projets 64 bits à
destination des ordinateurs sous Linux pour des
programmes en console ou avec une interface
graphique sous réserve de compatibilité de
l’environnement graphique de la distribution
Linux utilisée.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
En général, le déploiement sous Linux passe par
des systèmes de paquets dépendant de la
distribution utilisée ou sous forme de fichier
compressé.
Embarcadero ne fournit pas d’installeur pour
Linux.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
L’outil de déploiement sert essentiellement aux
tests ou exécutions à distance avec PAServer.
Il vous suffit de packager ensuite les fichiers
présents sur le dossier du programme côté Linux
pour les diffuser.
Reportez-vous aux informations sur al distribution
que vous ciblez.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Pour Linux, comme pour Android, vous êtes
globalement libres de faire ce que vous voulez
comme par exemple faire un lien de
téléchargement vers un exécutable que vous
aurez créé pour qu’il télécharge les éléments de
votre application et configure l’ordinateur comme
l’aurait fait un setup classique sous Windows.
Mais c’est à vous de le faire.
© Patrick Prémartin / developpeur-pascal.fr
DEPLOIEMENT
Là aussi, si vous le voulez, vous pouvez créer un
magasin d’application qui gèrera
automatiquement les installations de vos logiciels
une fois le programme du magasin installé sur les
postes de vos utilisateurs.
© Patrick Prémartin / developpeur-pascal.fr
EXEMPLE
Finissons sur un projet qui va gérer lui-même ses
mises à jour. C’est très facile à faire sous Delphi.
Les sources sont disponibles sur
https://github.com/DeveloppeurPascal/Diffusion
EtMisesAJourDeLogiciels
© Patrick Prémartin / developpeur-pascal.fr
EXEMPLE
Notez que cet exemple n’est pas sécurisé, c’est
une base de travail que vous pouvez utiliser pour
vos projets si vous le désirez.
Ajoutez les protections nécessaires pour vous
comme vos utilisateurs (SSL, numéros de licence,
clés de sécurité, pas de demandes répétées si le
domaine ne répond pas, des ID uniques, 2FA, …).
© Patrick Prémartin / developpeur-pascal.fr
EXEMPLE
Le source est découpé en deux parties :
- Le module d’interrogation de version à utiliser
dans les programmes.
- Le module serveur qui va indiquer si la version
est à jour et proposer éventuellement un lien
de téléchargement pour la version suivante.
© Patrick Prémartin / developpeur-pascal.fr
EXEMPLE
Le module client est une unité utilisant les
commandes HTTP/s fournies par Embarcadero
pour interroger nativement le serveur en lui
passant un numéro de version et en attendant en
réponse un lien ou rien si c’est ok.
© Patrick Prémartin / developpeur-pascal.fr
EXEMPLE
Le programme serveur est développé avec
WebBrocker fourni avec toutes versions de Delphi
mais c’est un programme très simple que vous
pourriez faire avec n’importe quel autre langage
de développement disponible sur votre serveur.
© Patrick Prémartin / developpeur-pascal.fr
EXEMPLE
La version est gérée automatiquement par
rapport à la date du fichier du programme (le .exe
ou son équivalent).
Elle sera envoyée par le client au serveur qui va
vérifier si ce programme est à jour.
Dans le cas contraire il transmettra l’adresse à
laquelle le télécharger.
© Patrick Prémartin / developpeur-pascal.fr
EXEMPLE
Le programme client proposera l’ouverture du
navigateur pour télécharger le programme s’il
doit être mis à jour.
Dans le cas contraire il dira que tout est ok.
© Patrick Prémartin / developpeur-pascal.fr
DERNIER
© Patrick Prémartin / developpeur-pascal.fr
N’oubliez pas de ne diffuser que des exécutables
compilés en RELEASE (sauf cas particulier), de
passer sur plusieurs antivirus et de signer tout ce
qui quitte votre ordinateur pour sécuriser vos
utilisateurs et votre activité.
CONCL
© Patrick Prémartin / developpeur-pascal.fr
Vous devriez avoir les idées plus claires sur les
possibilités de déploiement et de mises à jour en
fonction des services disponibles, de vos besoins
et contraintes.
PLUS
© Patrick Prémartin / developpeur-pascal.fr
Pour des ressources complémentaires,
télécharger cette présentation et accéder aux
exemples, rendez-vous sur :
https://developpeur-pascal.fr/p/___00m-
webinaire-du-24-novembre-2020-diffuser-nos-
logiciels-et-gerer-leurs-mises-a-jour.html
(RE)VOIR
© Patrick Prémartin / developpeur-pascal.fr
La rediffusion de ce webinaire devrait être
disponible sur la chaîne YouTube de Barnsten :
https://www.youtube.com/c/BarnstenFrance/vid
eos
Vous y trouverez également d’autres vidéos dont
une formation complète aux bases de la
programmation avec Delphi en VCL et FMX.
PROCHAINS
© Patrick Prémartin / developpeur-pascal.fr
Prochain webinaire :
- 22 décembre 2020 : Utilisation de Git dans
Delphi
Rediffusions, détails et inscriptions depuis
https://developpeur-pascal.fr/p/_6007-
webinaires.html
Pour 2021 la liste n’est pas encore prête.
LIVRES
© Patrick Prémartin / developpeur-pascal.fr
Des livres sur le développement avec Delphi
sortent régulièrement. Retrouvez en la liste sur
https://delphi-books.com/
Le dernier en date est « Delphi GUI programming
with FireMonkey » d’Andrea Magni en vente sur
https://amzn.to/3oOIoYD et sur commande en
librairie.
QUESTIONS
© Patrick Prémartin / developpeur-pascal.fr
CONTACTEZ NOUS

Contenu connexe

Similaire à Diffuser nos logiciels et leurs mises à jour

Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilespprem
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...pprem
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéopprem
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLpprem
 
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...Loic BILLET
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagespprem
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphipprem
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilespprem
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Firas Kouẞàa
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitairespprem
 
Industrialisation bar camp2010
Industrialisation bar camp2010Industrialisation bar camp2010
Industrialisation bar camp2010Lushkah911
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Microsoft Technet France
 
InstallAnywhere 2014- FR
InstallAnywhere 2014- FRInstallAnywhere 2014- FR
InstallAnywhere 2014- FRFlexera
 
Microsoft Windows 10 Technical Preview sur une machine virtuelle Virtualbox
 Microsoft Windows 10 Technical Preview sur une machine virtuelle Virtualbox Microsoft Windows 10 Technical Preview sur une machine virtuelle Virtualbox
Microsoft Windows 10 Technical Preview sur une machine virtuelle VirtualboxMaggiC solutions, Liège, Belgium
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015FactoVia
 
Projet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportProjet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportMouhcine Nid Belkacem
 
CV_Binh-DuongLE 012016
CV_Binh-DuongLE  012016CV_Binh-DuongLE  012016
CV_Binh-DuongLE 012016Binh Duong Le
 

Similaire à Diffuser nos logiciels et leurs mises à jour (20)

Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
 
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
Migration windows xp vers win7ouwin8, etude cas client, presentation architec...
 
Apache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéroApache Cordova 3.3 de zéro
Apache Cordova 3.3 de zéro
 
Utiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'imagesUtiliser des dessins vectoriels à la place d'images
Utiliser des dessins vectoriels à la place d'images
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
 
Industrialisation bar camp2010
Industrialisation bar camp2010Industrialisation bar camp2010
Industrialisation bar camp2010
 
Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012Nouveautés de App-V 5.0 et intégration avec System Center 2012
Nouveautés de App-V 5.0 et intégration avec System Center 2012
 
InstallAnywhere 2014- FR
InstallAnywhere 2014- FRInstallAnywhere 2014- FR
InstallAnywhere 2014- FR
 
Microsoft Windows 10 Technical Preview sur une machine virtuelle Virtualbox
 Microsoft Windows 10 Technical Preview sur une machine virtuelle Virtualbox Microsoft Windows 10 Technical Preview sur une machine virtuelle Virtualbox
Microsoft Windows 10 Technical Preview sur une machine virtuelle Virtualbox
 
Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015Cahier spécial visual studio 2015 - Octobre 2015
Cahier spécial visual studio 2015 - Octobre 2015
 
Projet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapportProjet boat loader avec le pic16F887_rapport
Projet boat loader avec le pic16F887_rapport
 
CV_Binh-DuongLE 012016
CV_Binh-DuongLE  012016CV_Binh-DuongLE  012016
CV_Binh-DuongLE 012016
 

Plus de pprem

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game enginepprem
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environmentpprem
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeypprem
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?pprem
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Androidpprem
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLpprem
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeypprem
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantpprem
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de donnéespprem
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de fraispprem
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succèspprem
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internetpprem
 
Trafic
TraficTrafic
Traficpprem
 

Plus de pprem (13)

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Android
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
 
Créer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composantCréer des composants visuels sans faire de composant
Créer des composants visuels sans faire de composant
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de frais
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succès
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internet
 
Trafic
TraficTrafic
Trafic
 

Diffuser nos logiciels et leurs mises à jour

  • 1. Diffuser nos logiciels et leurs mises à jour Webinaire du 24 novembre 2020
  • 2. PRÉSENTATEUR MVP Embarcadero Prestataire informatique freelance et formateur Delphi CV et contacts : https://www.linkedin.com/in/patrickpremartin/ Blog Delphi/Pascal : https://developpeur-pascal.fr
  • 3. Outils Embarcadero Les meilleurs outils de développement multi- plateformes. Créez une fois et déployez des applications modernes sur chaque plateforme. Support Technique Nos techniciens sont à votre service à tout moment pour répondre à vos questions et vous fournir des informations sûres. Distributeur Officiel Partenaire exclusif de Embarcadero Technologies, largement reconnu pour ses produits de programmation primés. B A R N S T E N QUI Site : https://www.barnsten.com – Contacts FR : equipe@barnsten.com
  • 4. NOTRE Société de prestations informatiques. Edition de sites Internet, logiciels, vidéos et livres. Centre de formation référencé sur Datadock. Infos et contacts : https://olfsoftware.fr Formations en entreprise : https://se-former-a-delphi.fr Formations en ligne : https://apprendre-delphi.fr O L F S O F T W A R E
  • 5. INTROD L'ancienne méthode qui consistait à vendre des logiciels sur disquettes, CD-ROM, DVD ou même clé USB est clairement passée de mode. Tout se fait par téléchargement pour les logiciels desktop. C’est aussi la norme pour les logiciels mobiles et tablettes. © Patrick Prémartin / developpeur-pascal.fr
  • 6. INTROD Chaque éditeur de système d'exploitation propose son magasin d'applications dans lequel ses utilisateurs peuvent trouver des logiciels gratuits ou payants. Ces magasins d'applications sont intégrés aux systèmes d'exploitation et permettent d'automatiser les mises à jour lorsque les développeurs publient une nouvelle version. © Patrick Prémartin / developpeur-pascal.fr
  • 7. INTROD Le côté pratique (en apparence) pour les utilisateurs apporte son lot de contraintes pour les développeurs et éditeurs que nous sommes. © Patrick Prémartin / developpeur-pascal.fr
  • 8. INTROD A ce jour, selon leurs versions et éditions Delphi et C++Builder proposent de cibler les systèmes d’exploitation suivants : - Windows 32 et 64 bits, processeur Intel - macOS 32 et 64 bits, processeur Intel - iOS 32 et 64 bits, processeur ARM - Android 32 et 64 bits, processeur ARM - Linux 64 bits, processeur Intel © Patrick Prémartin / developpeur-pascal.fr
  • 9. INTROD Des plateformes ont été retirées de la version 10.4 car elles n’étaient plus disponibles pour diffusion sur les magasins d’applications. Avec les licences Pro/Ent/Arc vous pouvez toujours télécharger une version antérieure et continuer à cibler ces plateformes obsolètes. Renseignez-vous auprès de votre distributeur. © Patrick Prémartin / developpeur-pascal.fr
  • 10. INTROD La liste des cibles de compilation par plateforme est disponible depuis le site de la documentation et en direct sur http://docwiki.embarcadero.com/PlatformStatus /fr/Accueil © Patrick Prémartin / developpeur-pascal.fr
  • 11. INTROD D’autres seront ajoutées dans les versions suivantes selon la roadmap de novembre 2020. Nous allons faire un tour de tout ça aujourd’hui. © Patrick Prémartin / developpeur-pascal.fr
  • 12. RAPPELS L’environnement de développement intègre un outil de déploiement qui recense la liste des fichiers nécessaires au programme final et les emplacement d’origine et destination. Le gros du travail est fait automatiquement. Seuls les fichiers que l’on ajoute nous-mêmes doivent y être mis à la main. © Patrick Prémartin / developpeur-pascal.fr
  • 13. RAPPELS L’opération de déploiement en elle-même se fait uniquement en configuration RELEASE. Elle est désactivée ou masquée en DEBUG (selon la version). L’action de déploiement se fait en fonction de la plateforme et la configuration choisie. © Patrick Prémartin / developpeur-pascal.fr
  • 14. RAPPELS Les options de l’environnement proposent des prérenseignements liés à l’approvisionnement des types de configuration (certificats de développement, fichiers de signature, …). Ces infos comme les actions de déploiement se font au niveau de chaque projet. © Patrick Prémartin / developpeur-pascal.fr
  • 15. RAPPELS Le travail sous des projets Windows ne nécessite pas de configuration particulière. Pour Android vous devez connecter vos appareils en direct ou les avoir sur le réseau local. Pour Linux vous devez avoir PAServer lancé et accessible par une IP sur un appareil sous Linux. © Patrick Prémartin / developpeur-pascal.fr
  • 16. RAPPELS Pour iOS et macOS vous devez avoir un PAServer lancé et accessible par IP sur un Mac. Il vous faut ensuite déclarer les profils de connexion pour que l’IDE dialogue avec les PAServer de votre réseau. © Patrick Prémartin / developpeur-pascal.fr
  • 17. RAPPELS Et finalement, pour chaque cible de compilation vous devez déclarer ou importer le SDK correspondant. Toutes ces étapes ont été détaillées lors du webinaire du 5 novembre 2019 sur le déploiement et débogage à distance. © Patrick Prémartin / developpeur-pascal.fr
  • 18. DEPLOIEMENT La plateforme Windows concerne tous les projets 32 ou 64 bits en mode console, en service Windows ou avec interface utilisateur (VCL ou FMX). © Patrick Prémartin / developpeur-pascal.fr
  • 19. DEPLOIEMENT Nous avons 2 configurations en RELEASE : - Magasin d’applications / Magasin => APPX, Microsoft Store - Magasin d’applications / Ad-hoc => EXE signé, diffusion libre - Normal => EXE, diffusion libre © Patrick Prémartin / developpeur-pascal.fr
  • 20. DEPLOIEMENT Nous avons 2 configurations en RELEASE : - Magasin d’applications / Magasin => APPX, Microsoft Store - Magasin d’applications / Ad-hoc => EXE signé, diffusion libre - Normal => EXE, diffusion libre © Patrick Prémartin / developpeur-pascal.fr
  • 21. DEPLOIEMENT En Magasin/Ad-hoc ou en normal, sauf si vous diffusez des logiciels internes à votre entreprise, n’utilisez pas votre propre certificat. Achetez un « code signing certificat » officiel (payant, valide 1 à 3 ans) pour être accepté par les versions récentes de Windows et éviter de titiller Windows Defender SmartScreen. © Patrick Prémartin / developpeur-pascal.fr
  • 22. DEPLOIEMENT En configuration normale vous pouvez utiliser un PAServer (local ou distant) pour bénéficier de l’outil de déploiement proposé dans l’IDE. Il est cependant recommandé d’utiliser un logiciel de création d’installeur comme Inno Setup, NSIS, RAD&Installer, InstallAware (ou via GetIt) et tant d’autres disponibles sur les zinzinternets. © Patrick Prémartin / developpeur-pascal.fr
  • 23. DEPLOIEMENT Pour la diffusion vous avez le choix : - Microsoft Store - En direct sur CD-ROM, DVD-ROM, clé USB, téléchargement, transfert de fichier, … - De nombreux sites (ex: 01net) proposent de diffuser des logiciels pour Windows. Certains ajoutent des programmes en option, méfiez- vous pour le bien être de vos utilisateurs. © Patrick Prémartin / developpeur-pascal.fr
  • 24. DEPLOIEMENT Le format de paquet MSIX (remplaçant du APPX) est envisagé pour la version 10.4.2 selon la roadmap de novembre 2020. Ce sera transparent pour les développeurs. © Patrick Prémartin / developpeur-pascal.fr
  • 25. DEPLOIEMENT La plateforme macOS concerne les projets 32 et 64 bits à destination des ordinateurs conçus par Apple avec un processeur Intel. Le compilateur macOS 64 bits pour les processeurs Apple Silicon est envisagé pour la version 10.5.0 selon la roadmap de novembre 2020. © Patrick Prémartin / developpeur-pascal.fr
  • 26. DEPLOIEMENT Jusqu’en version 10.3.3 Rio nous avions 2 configurations possibles pour macOS 32 bits : - Normal => APP, diffusion compliquée - Magasin d’application => PKG, Mac AppStore ou diffusion libre © Patrick Prémartin / developpeur-pascal.fr
  • 27. DEPLOIEMENT Pour macOS en 64 bits nous avons 3 constructions : - Normal => APP, diffusion compliquée - Magasin d’application => PKG, Mac AppStore - ID Développeur => APP notarié dans un ZIP, diffusion libre © Patrick Prémartin / developpeur-pascal.fr
  • 28. DEPLOIEMENT Un compte développeur Apple est nécessaire pour obtenir les certificats de signature. macOS les vérifie et bloque ou restreint l’usage de programmes non vérifiables. Ils sont nécessaires pour diffuser ses logiciels en passant par Apple ou en direct avec les supports physiques habituels ou en téléchargement. © Patrick Prémartin / developpeur-pascal.fr
  • 29. DEPLOIEMENT La diffusion sur le Mac AppStore est soumise à accord de Apple. Elle peut se faire gratuitement pour les utilisateurs ou être payante. Les mises à jour sont gérées automatiquement mais chacune doit également passer le processus de validation d’Apple. © Patrick Prémartin / developpeur-pascal.fr
  • 30. DEPLOIEMENT La diffusion sur le Mac AppStore est limitée dans le temps. Si le compte développeur n’est pas renouvelé, le logiciel disparaît et n’est plus téléchargeable y compris pour les utilisateurs l’ayant acheté. L’achat est valide pour tous les appareils liés au compte Apple de l’utilisateur. © Patrick Prémartin / developpeur-pascal.fr
  • 31. DEPLOIEMENT En diffusion directe (donc macOS 64 bits notarié), c’est à nous de tout gérer mais il n’y a aucune contrainte ergonomique ou de règle bizarre à suivre une fois la validation automatique du programme passée. On peut sortir le APP du ZIP et l’inclure dans un paquet autoinstallable qu’il faudra aussi notarier ou un disque virtuel (DMG). © Patrick Prémartin / developpeur-pascal.fr
  • 32. DEPLOIEMENT La diffusion libre des programmes peut généralement se faire sur les mêmes sites que les logiciels pour Windows. © Patrick Prémartin / developpeur-pascal.fr
  • 33. DEPLOIEMENT La plateforme iOS concerne les projets 32 et 64 bits à destination des smartphones et tablettes conçus par Apple : iPhone, iPad, iPod touch et leurs déclinaisons. © Patrick Prémartin / developpeur-pascal.fr
  • 34. DEPLOIEMENT Considérez la plateforme iOS 32 bits comme obsolète et enterrée sauf si vous avez encore des appareils tournant avec. Le déploiement Ad-hoc n’est plus possible ce qui empêche de toucher des utilisateurs inconnus. Le déploiement en direct ne peut se faire sur les appareils déclarés sur le compte du développeur (dans la limite de 1000 par type). © Patrick Prémartin / developpeur-pascal.fr
  • 35. DEPLOIEMENT Pour iOS 64 bits nous avons 3 types de construction possibles : - Ad-hoc - Magasin d’applications - Développement © Patrick Prémartin / developpeur-pascal.fr
  • 36. DEPLOIEMENT La construction « développement » se fait directement sur les appareils connectés à un Mac associé « relié » PC de développement par le PAServer. Seuls les appareils déclarés sur le compte Apple du développeur exécuteront ces programmes. © Patrick Prémartin / developpeur-pascal.fr
  • 37. DEPLOIEMENT Le mode Ad-hoc n’est disponible que pour les détenteurs d’un compte développeur Entreprise qui leur permet d’utiliser un AppStore dédié. Ils doivent passer par là pour déployer leurs logiciels sur le parc d’appareils qu’ils ont déclaré dans leur compte d’entreprise. © Patrick Prémartin / developpeur-pascal.fr
  • 38. DEPLOIEMENT Enfin, le déploiement sur l’AppStore est soumis à accord de la part d’Apple et fonctionne comme le Mac AppStore : une validation technique, une validation « humaine », ça passe ou on doit faire des modifications détaillées dans le retour des testeurs. Les mises à jour sont gérées automatiquement mais elles doivent passer la validation. © Patrick Prémartin / developpeur-pascal.fr
  • 39. DEPLOIEMENT En version 10.3.x Rio on peut embarquer un binaire iOS 32 bits dans un paquet de déploiement iOS 64 bits. Ce n’est plus le cas à partir de la version 10.4.0 Sydney qui cible une version minimale d’iOS ne tournant pas sur les vieux iPhone, iPod touch et iPad susceptibles de tourner en 32 bits. © Patrick Prémartin / developpeur-pascal.fr
  • 40. DEPLOIEMENT Il y a quand même une solution pour déployer un logiciel sur des smartphones et tablettes Apple sans passer par l’AppStore : l’application TestFlight. Son utilisation pour diffusion publique est une infraction aux règlements d’Apple et peut entrainer la coupure du compte développeur. © Patrick Prémartin / developpeur-pascal.fr
  • 41. DEPLOIEMENT TestFlight a été mis à disposition pour les tests grandeur nature d’applications mobiles. Ca fonctionne sur invitation depuis le compte développeur et permet donc de toucher des appareils sur lesquels on n’a pas la main. © Patrick Prémartin / developpeur-pascal.fr
  • 42. DEPLOIEMENT On est limité en appareils de test. L’application est déployée pour un maximum de 90 jours. Il faut donc déployer un binaire différent au moins une fois par trimestre. L’application fonctionne en sandbox. Aucun achat intégré n’est traité. C’est à utiliser pour des tests et dans des cas de déploiements très restreints. Soyez prudents. © Patrick Prémartin / developpeur-pascal.fr
  • 43. DEPLOIEMENT On peut utiliser le même compte développeur pour travailler avec tout type d’appareils et SDK fournis par Apple. Le compte développeur et ses certificats font l’objet d’un renouvellement annuel payant. Le non renouvellement ou sa résiliation entrainent la suppression des applications de l’AppStore © Patrick Prémartin / developpeur-pascal.fr
  • 44. DEPLOIEMENT La plateforme Android concerne les projets 32 et 64 bits à destination des smartphones et tablettes utilisant cet environnement mais aussi les appareils AndroidTV comme démontré lors du webinaire du 29 septembre 2020. Le compilateur Android cible des processeurs ARM. © Patrick Prémartin / developpeur-pascal.fr
  • 45. DEPLOIEMENT Deux types de construction sont disponibles pour Android 32 bits. Dans les deux cas on obtient un fichier APK. En développement il n’est pas signé. En magasin d’application il est signé par le certificat à fournir. Ce certificat peut être autogénéré. Il verrouille les mises à jour. © Patrick Prémartin / developpeur-pascal.fr
  • 46. DEPLOIEMENT Deux types de construction sont disponibles pour Android 64 bits. Dans les deux cas on obtient un fichier APK. En développement il n’est pas signé. En magasin d’application il est signé par le certificat à fournir. Ce certificat peut être autogénéré. Il verrouille les mises à jour. © Patrick Prémartin / developpeur-pascal.fr
  • 47. DEPLOIEMENT Les fichiers APK peuvent être diffusés en direct ou par l’intermédiaire de magasins d’application. Il est fortement recommandé de diffuser uniquement la version signée car ça interdit le remplacement par une version n’ayant pas été signée avec le même certificat et donc les usurpations d’identité de développeurs. © Patrick Prémartin / developpeur-pascal.fr
  • 48. DEPLOIEMENT La plateforme Android est laxiste : on peut diffuser n’importe quoi n’importe comment (ou presque) tant qu’on utilise les API du bon niveau de SDK fourni par Google. Un simple lien internet vers un APK peut déclencher son installation (après accord de l’utilisateur de l’appareil). © Patrick Prémartin / developpeur-pascal.fr
  • 49. DEPLOIEMENT Il existe de nombreux magasins d’applications : - Le plus connu reste le Play Store de Google. - Amazon permet de diffuser des APK pour ses Kindle Fire et les appareils disposant de son application. - D’autres magasins d’applications existent. Vous en trouverez une bonne sélection sur cet article de FrAndroid. © Patrick Prémartin / developpeur-pascal.fr
  • 50. DEPLOIEMENT Si vous passez par le Play Store vous avez accès aux achats intégrés et aux API classiques de Google. Google n’accepte plus que des APK en 64 bits ou des bundle 32/64 que vous pouvez créer depuis RAD Studio. © Patrick Prémartin / developpeur-pascal.fr
  • 51. DEPLOIEMENT Les autres magasins d’applications proposent parfois des API compatibles avec le Play Store mais ne comptez pas utiliser les composants d’achats intégrés fournis dans FireMonkey sans vérifier les librairies et SDK utilisés sur chaque site. Tous acceptent des APK 32 bits. © Patrick Prémartin / developpeur-pascal.fr
  • 52. DEPLOIEMENT Chaque magasin d’application a ses règles de contrôle des applications proposées ou ses thématiques. Faites le tour en fonction de vos utilisateurs cibles. Vous pouvez aussi créer votre propre magasin d’application et le diffuser sur les autres plateformes ou en direct. © Patrick Prémartin / developpeur-pascal.fr
  • 53. DEPLOIEMENT La plateforme Linux concerne les projets 64 bits à destination des ordinateurs sous Linux pour des programmes en console ou avec une interface graphique sous réserve de compatibilité de l’environnement graphique de la distribution Linux utilisée. © Patrick Prémartin / developpeur-pascal.fr
  • 54. DEPLOIEMENT En général, le déploiement sous Linux passe par des systèmes de paquets dépendant de la distribution utilisée ou sous forme de fichier compressé. Embarcadero ne fournit pas d’installeur pour Linux. © Patrick Prémartin / developpeur-pascal.fr
  • 55. DEPLOIEMENT L’outil de déploiement sert essentiellement aux tests ou exécutions à distance avec PAServer. Il vous suffit de packager ensuite les fichiers présents sur le dossier du programme côté Linux pour les diffuser. Reportez-vous aux informations sur al distribution que vous ciblez. © Patrick Prémartin / developpeur-pascal.fr
  • 56. DEPLOIEMENT Pour Linux, comme pour Android, vous êtes globalement libres de faire ce que vous voulez comme par exemple faire un lien de téléchargement vers un exécutable que vous aurez créé pour qu’il télécharge les éléments de votre application et configure l’ordinateur comme l’aurait fait un setup classique sous Windows. Mais c’est à vous de le faire. © Patrick Prémartin / developpeur-pascal.fr
  • 57. DEPLOIEMENT Là aussi, si vous le voulez, vous pouvez créer un magasin d’application qui gèrera automatiquement les installations de vos logiciels une fois le programme du magasin installé sur les postes de vos utilisateurs. © Patrick Prémartin / developpeur-pascal.fr
  • 58. EXEMPLE Finissons sur un projet qui va gérer lui-même ses mises à jour. C’est très facile à faire sous Delphi. Les sources sont disponibles sur https://github.com/DeveloppeurPascal/Diffusion EtMisesAJourDeLogiciels © Patrick Prémartin / developpeur-pascal.fr
  • 59. EXEMPLE Notez que cet exemple n’est pas sécurisé, c’est une base de travail que vous pouvez utiliser pour vos projets si vous le désirez. Ajoutez les protections nécessaires pour vous comme vos utilisateurs (SSL, numéros de licence, clés de sécurité, pas de demandes répétées si le domaine ne répond pas, des ID uniques, 2FA, …). © Patrick Prémartin / developpeur-pascal.fr
  • 60. EXEMPLE Le source est découpé en deux parties : - Le module d’interrogation de version à utiliser dans les programmes. - Le module serveur qui va indiquer si la version est à jour et proposer éventuellement un lien de téléchargement pour la version suivante. © Patrick Prémartin / developpeur-pascal.fr
  • 61. EXEMPLE Le module client est une unité utilisant les commandes HTTP/s fournies par Embarcadero pour interroger nativement le serveur en lui passant un numéro de version et en attendant en réponse un lien ou rien si c’est ok. © Patrick Prémartin / developpeur-pascal.fr
  • 62. EXEMPLE Le programme serveur est développé avec WebBrocker fourni avec toutes versions de Delphi mais c’est un programme très simple que vous pourriez faire avec n’importe quel autre langage de développement disponible sur votre serveur. © Patrick Prémartin / developpeur-pascal.fr
  • 63. EXEMPLE La version est gérée automatiquement par rapport à la date du fichier du programme (le .exe ou son équivalent). Elle sera envoyée par le client au serveur qui va vérifier si ce programme est à jour. Dans le cas contraire il transmettra l’adresse à laquelle le télécharger. © Patrick Prémartin / developpeur-pascal.fr
  • 64. EXEMPLE Le programme client proposera l’ouverture du navigateur pour télécharger le programme s’il doit être mis à jour. Dans le cas contraire il dira que tout est ok. © Patrick Prémartin / developpeur-pascal.fr
  • 65. DERNIER © Patrick Prémartin / developpeur-pascal.fr N’oubliez pas de ne diffuser que des exécutables compilés en RELEASE (sauf cas particulier), de passer sur plusieurs antivirus et de signer tout ce qui quitte votre ordinateur pour sécuriser vos utilisateurs et votre activité.
  • 66. CONCL © Patrick Prémartin / developpeur-pascal.fr Vous devriez avoir les idées plus claires sur les possibilités de déploiement et de mises à jour en fonction des services disponibles, de vos besoins et contraintes.
  • 67. PLUS © Patrick Prémartin / developpeur-pascal.fr Pour des ressources complémentaires, télécharger cette présentation et accéder aux exemples, rendez-vous sur : https://developpeur-pascal.fr/p/___00m- webinaire-du-24-novembre-2020-diffuser-nos- logiciels-et-gerer-leurs-mises-a-jour.html
  • 68. (RE)VOIR © Patrick Prémartin / developpeur-pascal.fr La rediffusion de ce webinaire devrait être disponible sur la chaîne YouTube de Barnsten : https://www.youtube.com/c/BarnstenFrance/vid eos Vous y trouverez également d’autres vidéos dont une formation complète aux bases de la programmation avec Delphi en VCL et FMX.
  • 69. PROCHAINS © Patrick Prémartin / developpeur-pascal.fr Prochain webinaire : - 22 décembre 2020 : Utilisation de Git dans Delphi Rediffusions, détails et inscriptions depuis https://developpeur-pascal.fr/p/_6007- webinaires.html Pour 2021 la liste n’est pas encore prête.
  • 70. LIVRES © Patrick Prémartin / developpeur-pascal.fr Des livres sur le développement avec Delphi sortent régulièrement. Retrouvez en la liste sur https://delphi-books.com/ Le dernier en date est « Delphi GUI programming with FireMonkey » d’Andrea Magni en vente sur https://amzn.to/3oOIoYD et sur commande en librairie.
  • 71. QUESTIONS © Patrick Prémartin / developpeur-pascal.fr