SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
PUBLIER UNE APPLI
MOBILE EN UN CLIC
Claire Dufetrelle
Web2day, Nantes, le 13 juin 2018
2//
Sommaire
01 //
02 //
03 //
04 //
05 //
Qui suis-je ?
Ce que c’est de publier une appli
Automatiser les livraisons avec Fastlane
Aller plus haut
Retours d’expérience
3//
01 //
Qui suis-je ?
4//
# Product manager
# Design UX
# Delivery
# Android
# iOS
Lyon, un peu Paris
Claire Dufetrelle
Formations
Expériences
Lagardère, Cellule innovation
FABERNOVEL TECHNOLOGIES depuis 2013
Projets
Head of Product Management
Intelligence artificielleApplications mobiles
Nous associons design et technologie
pour créer des produits numériques à
fort impact qui transforment le
business de nos clients
Nous concevons et développons des
produits de haute qualité utilisés
quotidiennement par plus de 100
millions de personnes dans le
monde
Nous accélérons la transformation
de votre business en connectant
l'innovation digitale à vos systèmes
existants 
Nous créons de nouveaux canaux
de communication entre nos
clients et leurs utilisateurs
Plateformes digitales
APPLICATIONS WEB & MOBILES | ARCHITECTURE SI| BIG DATA | BOTS | DESIGN D’API | DESIGN UX-UI | DEVOPS | INTELLIGENCE ARTIFICIELLE
MACHINE LEARNING | PRODUCT MANAGEMENT | SAAS-PAAS | SECURITY BY DESIGN | STRATEGIE ET ROADMAP MOBILE
6//
02 //
Ce que c’est de publier une appli
7//
Publier une appli iOSCom
piler
le
code
Signer
U
pload
sur
le
store
Tada
!
8//
Publier une appli iOSCom
piler
le
code
Signer
Tada
!
U
pload
sur
le
store
9//
Publier une appli iOS
En réalité
Com
piler
le
code
Signer
U
pload
sur
le
store
Tada
!
Archiver
Préparer
le
w
orkspace
Récupérer
la
dernière
version
du
code
Re-signer
M
ettre
à
jour
les
m
étadonnées
Soum
ettre
à
vérification
10//
Publier une appli iOS
En réalité
Com
piler
le
code
Signer
U
pload
sur
le
store
Tada
!
Archiver
M
ettre
à
jour
le
w
ording
Récupérer
la
dernière
version
du
code
Re-signer
Fichiers
de
sym
bolisation
Soum
ettre
à
vérification
Préparer
le
w
orkspace
Augm
enter
le
num
éro
de
version
U
pload
pour
backup
M
étadonnées
M
ettre
en
beta
11//
Publier une appli iOS
En réalité
Com
piler
le
code
Signer
U
pload
sur
le
store
Tada
!
Archiver
M
ettre
à
jour
le
w
ording
Récupérer
la
dernière
version
du
code
Re-signer
Fichiers
de
sym
bolisation
Soum
ettre
à
vérification
Préparer
le
w
orkspace
Augm
enter
le
num
éro
de
version
U
pload
pour
backup
M
étadonnées
M
ettre
en
beta
12//
Publier une appli Android
En réalité
Com
piler
le
code
Signer
U
pload
sur
le
store
Tada
!
Archiver
M
ettre
à
jour
le
w
ording
Récupérer
la
dernière
version
du
code
Re-signer
Fichiers
de
sym
bolisation
Préparer
le
w
orkspace
Augm
enter
le
num
éro
de
version
U
pload
pour
backup
M
étadonnées
M
ettre
en
beta
13//
Le gros problème là dedans
“C’est plus facile à dire qu’à faire”
● A la moindre erreur, on recommence
● C’est looooooong !
● Le stagiaire ne fournit pas de logs
● Une option peut tout changer
Une conviction
il ne faut pas faire confiance à un humain pour
un travail de robot
14//
03 //
Automatiser les livraisons avec
Fastlane
15//
Qu’est ce que Fastlane ?
Votre vie va changer
● projet open-source, racheté par Twitter (Fabric)
● série d’outils pour publier des applis iOS et Android
● actions publiques ou privées
● beaucoup d’intégrations : Hockey App, Amazon S3,
TestFlight...
● projet en Ruby
16//
C’est parti !
Installer Fastlane
Initialisation
$ fastlane init
17//
C’est parti default_platform :ios
platform :ios do
before_all do
# ENV["SLACK_URL"] =
"https://hooks.slack.com/services/..."
cocoapods
# carthage
end
desc "Submit a new Beta Build to Apple TestFlight"
desc "This will also make sure the profile is up to
date"
lane :beta do
# match(type: "appstore")
gym(scheme: "MyApp")
pilot
# sh "your_script.sh"
# You can also use other beta
testing services here (run `fastlane
actions`)
end
Création du Fastfile
18//
C’est parti !
Zoom sur le Fastfile
lane :beta do |options|
recolor_icon
sh "./customScript.sh"
gym(scheme: "MyApp",
workspace: "MyApp.xcworkspace",
include_bitcode: true)
testflight(options[:external])
slack
end
19//
C’est parti !
Quelques commandes
Builder son appli en beta
$ fastlane beta
Envoyer son appli sur le store
$ fastlane release
En savoir plus sur une action
$ fastlane action slack
20//
21//
Actions Fastlane principales
La base - pour iOS
gym : builder l’application
match : centraliser les certificats et mobile provision
sigh : signer l’appli
cert : créer les certificats
pem : générer et maintenir les certificats de push
snapshot : screenshot automatiques
frameit : incruster les screenshot dans des téléphones
deliver : upload des métadonnées
produce : créer des applis sur iTunes Connect
precheck : pré-vérification pour faciliter la review de l’App Store
scan : exécuter des tests
22//
// J’arrête d’ouvrir Xcode
24//
C’est parti !
Quelques unes de nos commandes
$ fastlane store env:distrib target:myCANAL deploy:true
25//
C’est parti !
Quelques unes de nos commandes
$ fastlane store env:distrib target:myCANAL deploy:true
la lane à lancer
store / beta / inhouse / dev
26//
C’est parti !
Quelques unes de nos commandes
$ fastlane store env:distrib target:myCANAL deploy:true
l’environnement
dev / preprod / prod / distrib
27//
C’est parti !
Quelques unes de nos commandes
$ fastlane store env:distrib target:myCANAL deploy:true
la/les target
séparés par des virgules ou all
28//
29//
// J’arrête les captures
d’écrans
30//
Snapshot
Snapfile
devices([
"iPhone X",
"iPhone 6s Plus",
"iPhone 5"
])
languages([
"fr-FR",
"en-US"
])
31//
Snapshot
Quelques commandes
Do automatic screenshots
$ fastlane snapshot
Frame them
$ fastlane frameit
32//
Snapshot + Frameit
● Captures d'écran dans plusieurs langues
● sur plusieurs devices
● de plusieurs écrans
● insérés dans un iPhone
● mis sur un fond avec un titre
je n’ai pas ouvert 1 simulateur ou Photoshop
Quelques commandes
33//
34//
// J’arrête de taper les
commandes à la main
35//
Robots everywhere
Intégration avec Jenkins
Jenkins
• Git
• Gerrit
• Triggers
Fastlane
• Lanes
• Do stuff
Jenkins
• report
• console
36//
37//
// J’arrête tout
38//
39//
04 //
Aller plus haut
40//
Améliorer encore l’intégration
Plus vite, plus fort, plus pratique
Tests automatisés
● tests unitaires
● tests d’UI
● tests end-to-end
à adapter en fonction des commits
● commit “lambda”
● commit de merge
● commit de release
41//
Améliorer encore l’intégration
Plus vite, plus fort, plus pratique
Améliorer les interfaces
● rendre les interfaces plus user-friendly
● ouvrir l’interface à nos clients
Augmenter la fréquence
● faire des build à intervalles réguliers
● facilite la recette
42//
05 //
Retours d’expérience
43//
Retours d’expérience
Après 2 ans
Des sujets qui font peur...
c’est vécu comme un calvaire
… alors qu’en fait !
une fois un projet configuré, le bénéfice est réel !
On est passé par de nombreux ateliers
d’accompagnement.
44//
Retours d’expérience
Après 2 ans
La barrière n’est pas l’appétence technique...
...c’est plutôt la nécessité qui prime.
● 10 applications par livraison
● sur 1 à 3 environnements en même temps
● avec une appli qui met 30 minutes à compiler
ça motive !
45//
Retours d’expérience
Après 2 ans
Nécessite quand même une infrastructure
robuste
● 17 serveurs
● 3500 builds/jour
● 25 développeurs et 10 CDP
46//
● s’adapte à vos process
● prêt pour
l’industrialisation
GO
● s’épargner la basse
besogne
● plus d’applis de test
● moins de stress lors
de la mise en prod
DÉVELOPPEUR SEUL,
PETITE ÉQUIPE
ÉQUIPE IMPORTANTE,
MULTI-PROJETS
47//
“
Merci !
Place à vos questions
Merci.
48//
Claire DUFETRELLE
Head of Product Management
@claire_duf
@claire.dufetrelle

Weitere ähnliche Inhalte

Was ist angesagt?

Dossier de Presse Youjob - PB Communication
Dossier de Presse Youjob - PB CommunicationDossier de Presse Youjob - PB Communication
Dossier de Presse Youjob - PB Communicationpbcom1998
 
Research Paper-Les Business Models de l'Open Source, faberNovel Consulting
Research Paper-Les Business Models de l'Open Source, faberNovel ConsultingResearch Paper-Les Business Models de l'Open Source, faberNovel Consulting
Research Paper-Les Business Models de l'Open Source, faberNovel ConsultingFabernovel
 
S'équiper et hybrider pour exécuter et innover pour de vrai
S'équiper et hybrider pour exécuter et innover pour de vraiS'équiper et hybrider pour exécuter et innover pour de vrai
S'équiper et hybrider pour exécuter et innover pour de vraiFive by Five
 
L'UX au coeur de l'entreprise
L'UX au coeur de l'entrepriseL'UX au coeur de l'entreprise
L'UX au coeur de l'entrepriseUX REPUBLIC
 
Revolution Mobile @Web2day
Revolution Mobile @Web2dayRevolution Mobile @Web2day
Revolution Mobile @Web2dayAlexandre Jubien
 
Séminaire Smile - Réussir son application Métier
Séminaire Smile - Réussir son application MétierSéminaire Smile - Réussir son application Métier
Séminaire Smile - Réussir son application MétierSmile I.T is open
 
Présentation UX agence Backelite
Présentation UX agence BackelitePrésentation UX agence Backelite
Présentation UX agence BackeliteIdean France
 
Comment prototyper quand on monte sa startup ?
Comment prototyper quand on monte sa startup ? Comment prototyper quand on monte sa startup ?
Comment prototyper quand on monte sa startup ? Carole Stromboni
 
Be Googley, a corporate culture for innovation
Be Googley, a corporate culture for innovationBe Googley, a corporate culture for innovation
Be Googley, a corporate culture for innovationPatrick Chanezon
 
Les secrets du développement d'une application mobile
Les secrets du développement d'une application mobileLes secrets du développement d'une application mobile
Les secrets du développement d'une application mobileEutech SSII
 

Was ist angesagt? (10)

Dossier de Presse Youjob - PB Communication
Dossier de Presse Youjob - PB CommunicationDossier de Presse Youjob - PB Communication
Dossier de Presse Youjob - PB Communication
 
Research Paper-Les Business Models de l'Open Source, faberNovel Consulting
Research Paper-Les Business Models de l'Open Source, faberNovel ConsultingResearch Paper-Les Business Models de l'Open Source, faberNovel Consulting
Research Paper-Les Business Models de l'Open Source, faberNovel Consulting
 
S'équiper et hybrider pour exécuter et innover pour de vrai
S'équiper et hybrider pour exécuter et innover pour de vraiS'équiper et hybrider pour exécuter et innover pour de vrai
S'équiper et hybrider pour exécuter et innover pour de vrai
 
L'UX au coeur de l'entreprise
L'UX au coeur de l'entrepriseL'UX au coeur de l'entreprise
L'UX au coeur de l'entreprise
 
Revolution Mobile @Web2day
Revolution Mobile @Web2dayRevolution Mobile @Web2day
Revolution Mobile @Web2day
 
Séminaire Smile - Réussir son application Métier
Séminaire Smile - Réussir son application MétierSéminaire Smile - Réussir son application Métier
Séminaire Smile - Réussir son application Métier
 
Présentation UX agence Backelite
Présentation UX agence BackelitePrésentation UX agence Backelite
Présentation UX agence Backelite
 
Comment prototyper quand on monte sa startup ?
Comment prototyper quand on monte sa startup ? Comment prototyper quand on monte sa startup ?
Comment prototyper quand on monte sa startup ?
 
Be Googley, a corporate culture for innovation
Be Googley, a corporate culture for innovationBe Googley, a corporate culture for innovation
Be Googley, a corporate culture for innovation
 
Les secrets du développement d'une application mobile
Les secrets du développement d'une application mobileLes secrets du développement d'une application mobile
Les secrets du développement d'une application mobile
 

Ähnlich wie Publier une application mobile en un clic

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
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - AlloyMeetup Mobile Montpellier
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobile
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobileMicrosoft experiences'16 - Tester, Monitorer et Déployer son application mobile
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobileAdrien Siffermann
 
Devops for mobile iOS/Android
Devops for mobile iOS/AndroidDevops for mobile iOS/Android
Devops for mobile iOS/AndroidCedric Gatay
 
Déploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou AndroidDéploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou AndroidFlorian Chauveau
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobileMartin Arvisais
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014USERADGENTS
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierDamien Laureaux
 
Visual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@NoumeaVisual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@NoumeaJulien Chable
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?NiceToMeetYou
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidBosco Basabana
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 

Ähnlich wie Publier une application mobile en un clic (20)

Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Ionic
IonicIonic
Ionic
 
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
 
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
1er Meetup Mobile Montpellier - Présentation Appcelerator Titanium - Alloy
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobile
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobileMicrosoft experiences'16 - Tester, Monitorer et Déployer son application mobile
Microsoft experiences'16 - Tester, Monitorer et Déployer son application mobile
 
Devops for mobile iOS/Android
Devops for mobile iOS/AndroidDevops for mobile iOS/Android
Devops for mobile iOS/Android
 
Déploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou AndroidDéploiement automatique d'app iOS et/ou Android
Déploiement automatique d'app iOS et/ou Android
 
Actionscript: du web au mobile
Actionscript: du web au mobileActionscript: du web au mobile
Actionscript: du web au mobile
 
userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014userADgents WWDC iOS 8 juin 2014
userADgents WWDC iOS 8 juin 2014
 
Conférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG MontpellierConférence Titanium + Alloy au JUG Montpellier
Conférence Titanium + Alloy au JUG Montpellier
 
Meetup sencha
Meetup senchaMeetup sencha
Meetup sencha
 
Visual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@NoumeaVisual studio 2017 Launch keynote - Afterworks@Noumea
Visual studio 2017 Launch keynote - Afterworks@Noumea
 
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
 
Introduction a Flutter
Introduction a FlutterIntroduction a Flutter
Introduction a Flutter
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
Android introvf
Android introvfAndroid introvf
Android introvf
 
Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?Web Mobile : quelles opportunités face aux apps ?
Web Mobile : quelles opportunités face aux apps ?
 
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour androidDébuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
Débuter avec phonegap (APACHE CORDOVA) dans eclipse pour android
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 

Mehr von Fabernovel

GAFAnomics Tesla Volume 2 - Is Tesla the disruptor we need?
GAFAnomics Tesla Volume 2 -  Is Tesla the disruptor we need?GAFAnomics Tesla Volume 2 -  Is Tesla the disruptor we need?
GAFAnomics Tesla Volume 2 - Is Tesla the disruptor we need?Fabernovel
 
Lancement de ReCOVery - Sortie de crise - Les nouveaux raisonnables
Lancement de ReCOVery - Sortie de crise - Les nouveaux raisonnablesLancement de ReCOVery - Sortie de crise - Les nouveaux raisonnables
Lancement de ReCOVery - Sortie de crise - Les nouveaux raisonnablesFabernovel
 
[Extract] Study - Talent KPIs
[Extract] Study - Talent KPIs [Extract] Study - Talent KPIs
[Extract] Study - Talent KPIs Fabernovel
 
Fabernovel analyse les tendances publicitaires du super bowl de 2020
Fabernovel analyse les tendances publicitaires du super bowl de 2020Fabernovel analyse les tendances publicitaires du super bowl de 2020
Fabernovel analyse les tendances publicitaires du super bowl de 2020Fabernovel
 
Amazon is eating the world
Amazon is eating the worldAmazon is eating the world
Amazon is eating the worldFabernovel
 
Gafanomics - Quarterly - Episode 4 (Q4FY19)
Gafanomics - Quarterly - Episode 4 (Q4FY19) Gafanomics - Quarterly - Episode 4 (Q4FY19)
Gafanomics - Quarterly - Episode 4 (Q4FY19) Fabernovel
 
Fabernovel study on SoftBank
Fabernovel study on SoftBankFabernovel study on SoftBank
Fabernovel study on SoftBankFabernovel
 
The new retail: apocalypse or new era?
The new retail: apocalypse or new era?The new retail: apocalypse or new era?
The new retail: apocalypse or new era?Fabernovel
 
L’aventure iOS - tvOS myCANAL
L’aventure iOS - tvOS myCANALL’aventure iOS - tvOS myCANAL
L’aventure iOS - tvOS myCANALFabernovel
 
WeChat Social Ads Playbook
WeChat Social Ads PlaybookWeChat Social Ads Playbook
WeChat Social Ads PlaybookFabernovel
 
[Extract] Study The We Company: is real estate a disruptable industry?
[Extract] Study The We Company: is real estate a disruptable industry?[Extract] Study The We Company: is real estate a disruptable industry?
[Extract] Study The We Company: is real estate a disruptable industry?Fabernovel
 
Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...
Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...
Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...Fabernovel
 
Study Ardian & Fabernovel - The Augmented Infrastructure: Digital for climate?
Study Ardian & Fabernovel - The Augmented Infrastructure:  Digital for climate?Study Ardian & Fabernovel - The Augmented Infrastructure:  Digital for climate?
Study Ardian & Fabernovel - The Augmented Infrastructure: Digital for climate?Fabernovel
 
Services urbains : faut il vraiment penser utilisateur ?
Services urbains : faut il vraiment penser utilisateur ?Services urbains : faut il vraiment penser utilisateur ?
Services urbains : faut il vraiment penser utilisateur ?Fabernovel
 
[Fabernovel study] New economy, new KPI: the customer era
[Fabernovel study] New economy, new KPI:  the customer era[Fabernovel study] New economy, new KPI:  the customer era
[Fabernovel study] New economy, new KPI: the customer eraFabernovel
 
Gafanomics - The Quarterly - Episode 2 (Q2FY19)
Gafanomics - The Quarterly - Episode 2 (Q2FY19)Gafanomics - The Quarterly - Episode 2 (Q2FY19)
Gafanomics - The Quarterly - Episode 2 (Q2FY19)Fabernovel
 
The Future of Corporate Learning: from Training to Learning Experience
The Future of Corporate Learning: from Training to Learning ExperienceThe Future of Corporate Learning: from Training to Learning Experience
The Future of Corporate Learning: from Training to Learning ExperienceFabernovel
 
Gafanomics - The Quarterly - Episode 1 (Q1FY19)
Gafanomics - The Quarterly - Episode 1 (Q1FY19)Gafanomics - The Quarterly - Episode 1 (Q1FY19)
Gafanomics - The Quarterly - Episode 1 (Q1FY19)Fabernovel
 
Slack, the future workplace
Slack, the future workplaceSlack, the future workplace
Slack, the future workplaceFabernovel
 
Arbre à palabres #1 - Do things that don’t scale
Arbre à palabres #1 - Do things that don’t scaleArbre à palabres #1 - Do things that don’t scale
Arbre à palabres #1 - Do things that don’t scaleFabernovel
 

Mehr von Fabernovel (20)

GAFAnomics Tesla Volume 2 - Is Tesla the disruptor we need?
GAFAnomics Tesla Volume 2 -  Is Tesla the disruptor we need?GAFAnomics Tesla Volume 2 -  Is Tesla the disruptor we need?
GAFAnomics Tesla Volume 2 - Is Tesla the disruptor we need?
 
Lancement de ReCOVery - Sortie de crise - Les nouveaux raisonnables
Lancement de ReCOVery - Sortie de crise - Les nouveaux raisonnablesLancement de ReCOVery - Sortie de crise - Les nouveaux raisonnables
Lancement de ReCOVery - Sortie de crise - Les nouveaux raisonnables
 
[Extract] Study - Talent KPIs
[Extract] Study - Talent KPIs [Extract] Study - Talent KPIs
[Extract] Study - Talent KPIs
 
Fabernovel analyse les tendances publicitaires du super bowl de 2020
Fabernovel analyse les tendances publicitaires du super bowl de 2020Fabernovel analyse les tendances publicitaires du super bowl de 2020
Fabernovel analyse les tendances publicitaires du super bowl de 2020
 
Amazon is eating the world
Amazon is eating the worldAmazon is eating the world
Amazon is eating the world
 
Gafanomics - Quarterly - Episode 4 (Q4FY19)
Gafanomics - Quarterly - Episode 4 (Q4FY19) Gafanomics - Quarterly - Episode 4 (Q4FY19)
Gafanomics - Quarterly - Episode 4 (Q4FY19)
 
Fabernovel study on SoftBank
Fabernovel study on SoftBankFabernovel study on SoftBank
Fabernovel study on SoftBank
 
The new retail: apocalypse or new era?
The new retail: apocalypse or new era?The new retail: apocalypse or new era?
The new retail: apocalypse or new era?
 
L’aventure iOS - tvOS myCANAL
L’aventure iOS - tvOS myCANALL’aventure iOS - tvOS myCANAL
L’aventure iOS - tvOS myCANAL
 
WeChat Social Ads Playbook
WeChat Social Ads PlaybookWeChat Social Ads Playbook
WeChat Social Ads Playbook
 
[Extract] Study The We Company: is real estate a disruptable industry?
[Extract] Study The We Company: is real estate a disruptable industry?[Extract] Study The We Company: is real estate a disruptable industry?
[Extract] Study The We Company: is real estate a disruptable industry?
 
Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...
Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...
Insight Report by Fabernovel - The Hidden consumption force of Overseas Chine...
 
Study Ardian & Fabernovel - The Augmented Infrastructure: Digital for climate?
Study Ardian & Fabernovel - The Augmented Infrastructure:  Digital for climate?Study Ardian & Fabernovel - The Augmented Infrastructure:  Digital for climate?
Study Ardian & Fabernovel - The Augmented Infrastructure: Digital for climate?
 
Services urbains : faut il vraiment penser utilisateur ?
Services urbains : faut il vraiment penser utilisateur ?Services urbains : faut il vraiment penser utilisateur ?
Services urbains : faut il vraiment penser utilisateur ?
 
[Fabernovel study] New economy, new KPI: the customer era
[Fabernovel study] New economy, new KPI:  the customer era[Fabernovel study] New economy, new KPI:  the customer era
[Fabernovel study] New economy, new KPI: the customer era
 
Gafanomics - The Quarterly - Episode 2 (Q2FY19)
Gafanomics - The Quarterly - Episode 2 (Q2FY19)Gafanomics - The Quarterly - Episode 2 (Q2FY19)
Gafanomics - The Quarterly - Episode 2 (Q2FY19)
 
The Future of Corporate Learning: from Training to Learning Experience
The Future of Corporate Learning: from Training to Learning ExperienceThe Future of Corporate Learning: from Training to Learning Experience
The Future of Corporate Learning: from Training to Learning Experience
 
Gafanomics - The Quarterly - Episode 1 (Q1FY19)
Gafanomics - The Quarterly - Episode 1 (Q1FY19)Gafanomics - The Quarterly - Episode 1 (Q1FY19)
Gafanomics - The Quarterly - Episode 1 (Q1FY19)
 
Slack, the future workplace
Slack, the future workplaceSlack, the future workplace
Slack, the future workplace
 
Arbre à palabres #1 - Do things that don’t scale
Arbre à palabres #1 - Do things that don’t scaleArbre à palabres #1 - Do things that don’t scale
Arbre à palabres #1 - Do things that don’t scale
 

Publier une application mobile en un clic

  • 1. PUBLIER UNE APPLI MOBILE EN UN CLIC Claire Dufetrelle Web2day, Nantes, le 13 juin 2018
  • 2. 2// Sommaire 01 // 02 // 03 // 04 // 05 // Qui suis-je ? Ce que c’est de publier une appli Automatiser les livraisons avec Fastlane Aller plus haut Retours d’expérience
  • 4. 4// # Product manager # Design UX # Delivery # Android # iOS Lyon, un peu Paris Claire Dufetrelle Formations Expériences Lagardère, Cellule innovation FABERNOVEL TECHNOLOGIES depuis 2013 Projets Head of Product Management
  • 5. Intelligence artificielleApplications mobiles Nous associons design et technologie pour créer des produits numériques à fort impact qui transforment le business de nos clients Nous concevons et développons des produits de haute qualité utilisés quotidiennement par plus de 100 millions de personnes dans le monde Nous accélérons la transformation de votre business en connectant l'innovation digitale à vos systèmes existants  Nous créons de nouveaux canaux de communication entre nos clients et leurs utilisateurs Plateformes digitales APPLICATIONS WEB & MOBILES | ARCHITECTURE SI| BIG DATA | BOTS | DESIGN D’API | DESIGN UX-UI | DEVOPS | INTELLIGENCE ARTIFICIELLE MACHINE LEARNING | PRODUCT MANAGEMENT | SAAS-PAAS | SECURITY BY DESIGN | STRATEGIE ET ROADMAP MOBILE
  • 6. 6// 02 // Ce que c’est de publier une appli
  • 7. 7// Publier une appli iOSCom piler le code Signer U pload sur le store Tada !
  • 8. 8// Publier une appli iOSCom piler le code Signer Tada ! U pload sur le store
  • 9. 9// Publier une appli iOS En réalité Com piler le code Signer U pload sur le store Tada ! Archiver Préparer le w orkspace Récupérer la dernière version du code Re-signer M ettre à jour les m étadonnées Soum ettre à vérification
  • 10. 10// Publier une appli iOS En réalité Com piler le code Signer U pload sur le store Tada ! Archiver M ettre à jour le w ording Récupérer la dernière version du code Re-signer Fichiers de sym bolisation Soum ettre à vérification Préparer le w orkspace Augm enter le num éro de version U pload pour backup M étadonnées M ettre en beta
  • 11. 11// Publier une appli iOS En réalité Com piler le code Signer U pload sur le store Tada ! Archiver M ettre à jour le w ording Récupérer la dernière version du code Re-signer Fichiers de sym bolisation Soum ettre à vérification Préparer le w orkspace Augm enter le num éro de version U pload pour backup M étadonnées M ettre en beta
  • 12. 12// Publier une appli Android En réalité Com piler le code Signer U pload sur le store Tada ! Archiver M ettre à jour le w ording Récupérer la dernière version du code Re-signer Fichiers de sym bolisation Préparer le w orkspace Augm enter le num éro de version U pload pour backup M étadonnées M ettre en beta
  • 13. 13// Le gros problème là dedans “C’est plus facile à dire qu’à faire” ● A la moindre erreur, on recommence ● C’est looooooong ! ● Le stagiaire ne fournit pas de logs ● Une option peut tout changer Une conviction il ne faut pas faire confiance à un humain pour un travail de robot
  • 14. 14// 03 // Automatiser les livraisons avec Fastlane
  • 15. 15// Qu’est ce que Fastlane ? Votre vie va changer ● projet open-source, racheté par Twitter (Fabric) ● série d’outils pour publier des applis iOS et Android ● actions publiques ou privées ● beaucoup d’intégrations : Hockey App, Amazon S3, TestFlight... ● projet en Ruby
  • 16. 16// C’est parti ! Installer Fastlane Initialisation $ fastlane init
  • 17. 17// C’est parti default_platform :ios platform :ios do before_all do # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..." cocoapods # carthage end desc "Submit a new Beta Build to Apple TestFlight" desc "This will also make sure the profile is up to date" lane :beta do # match(type: "appstore") gym(scheme: "MyApp") pilot # sh "your_script.sh" # You can also use other beta testing services here (run `fastlane actions`) end Création du Fastfile
  • 18. 18// C’est parti ! Zoom sur le Fastfile lane :beta do |options| recolor_icon sh "./customScript.sh" gym(scheme: "MyApp", workspace: "MyApp.xcworkspace", include_bitcode: true) testflight(options[:external]) slack end
  • 19. 19// C’est parti ! Quelques commandes Builder son appli en beta $ fastlane beta Envoyer son appli sur le store $ fastlane release En savoir plus sur une action $ fastlane action slack
  • 20. 20//
  • 21. 21// Actions Fastlane principales La base - pour iOS gym : builder l’application match : centraliser les certificats et mobile provision sigh : signer l’appli cert : créer les certificats pem : générer et maintenir les certificats de push snapshot : screenshot automatiques frameit : incruster les screenshot dans des téléphones deliver : upload des métadonnées produce : créer des applis sur iTunes Connect precheck : pré-vérification pour faciliter la review de l’App Store scan : exécuter des tests
  • 23. 24// C’est parti ! Quelques unes de nos commandes $ fastlane store env:distrib target:myCANAL deploy:true
  • 24. 25// C’est parti ! Quelques unes de nos commandes $ fastlane store env:distrib target:myCANAL deploy:true la lane à lancer store / beta / inhouse / dev
  • 25. 26// C’est parti ! Quelques unes de nos commandes $ fastlane store env:distrib target:myCANAL deploy:true l’environnement dev / preprod / prod / distrib
  • 26. 27// C’est parti ! Quelques unes de nos commandes $ fastlane store env:distrib target:myCANAL deploy:true la/les target séparés par des virgules ou all
  • 27. 28//
  • 28. 29// // J’arrête les captures d’écrans
  • 29. 30// Snapshot Snapfile devices([ "iPhone X", "iPhone 6s Plus", "iPhone 5" ]) languages([ "fr-FR", "en-US" ])
  • 30. 31// Snapshot Quelques commandes Do automatic screenshots $ fastlane snapshot Frame them $ fastlane frameit
  • 31. 32// Snapshot + Frameit ● Captures d'écran dans plusieurs langues ● sur plusieurs devices ● de plusieurs écrans ● insérés dans un iPhone ● mis sur un fond avec un titre je n’ai pas ouvert 1 simulateur ou Photoshop Quelques commandes
  • 32. 33//
  • 33. 34// // J’arrête de taper les commandes à la main
  • 34. 35// Robots everywhere Intégration avec Jenkins Jenkins • Git • Gerrit • Triggers Fastlane • Lanes • Do stuff Jenkins • report • console
  • 35. 36//
  • 37. 38//
  • 39. 40// Améliorer encore l’intégration Plus vite, plus fort, plus pratique Tests automatisés ● tests unitaires ● tests d’UI ● tests end-to-end à adapter en fonction des commits ● commit “lambda” ● commit de merge ● commit de release
  • 40. 41// Améliorer encore l’intégration Plus vite, plus fort, plus pratique Améliorer les interfaces ● rendre les interfaces plus user-friendly ● ouvrir l’interface à nos clients Augmenter la fréquence ● faire des build à intervalles réguliers ● facilite la recette
  • 42. 43// Retours d’expérience Après 2 ans Des sujets qui font peur... c’est vécu comme un calvaire … alors qu’en fait ! une fois un projet configuré, le bénéfice est réel ! On est passé par de nombreux ateliers d’accompagnement.
  • 43. 44// Retours d’expérience Après 2 ans La barrière n’est pas l’appétence technique... ...c’est plutôt la nécessité qui prime. ● 10 applications par livraison ● sur 1 à 3 environnements en même temps ● avec une appli qui met 30 minutes à compiler ça motive !
  • 44. 45// Retours d’expérience Après 2 ans Nécessite quand même une infrastructure robuste ● 17 serveurs ● 3500 builds/jour ● 25 développeurs et 10 CDP
  • 45. 46// ● s’adapte à vos process ● prêt pour l’industrialisation GO ● s’épargner la basse besogne ● plus d’applis de test ● moins de stress lors de la mise en prod DÉVELOPPEUR SEUL, PETITE ÉQUIPE ÉQUIPE IMPORTANTE, MULTI-PROJETS
  • 46. 47// “ Merci ! Place à vos questions
  • 47. Merci. 48// Claire DUFETRELLE Head of Product Management @claire_duf @claire.dufetrelle