SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
Synchroniser ses applications plus
rapidement avec du low-code
Être plus efficace pour synchroniser ses applications,
grâce à un ETL en PHP
Grégory Planchat, Kiboko
Grégory
Planchat
@gplanchat
“Pécher par ignorance”
La petite histoire d’un développeur trop confiant
“Les connecteurs,
c’est facile”
“Un petit script des
familles, et hop !”
e-commerce
catalogue systèmes de caisses
? ?
?
?
?
base client
“Les prix sont
par ici”
“J’envoie les
commandes là bas !”
“Voilà mes
produits”
“je place tout dans un
tableau, et j’envoie”
“un cron, et pas de
prise de tête”
“trop facile !
en staging on a synchronisé 200
produits sans problème”
“et hop ! en prod”
e-commerce
catalogue systèmes de caisses
base client
“oui, mais sur mon poste
ça fonctionne bien”
“si je le relance,
ça va passer”
⚠
⚠
“les préparateurs ne reçoivent
plus les commandes” “on a vendu au delà
de nos stocks”
e-commerce
catalogue systèmes de caisses
base client
“c’est juste un fichier CSV que
vous enregistrez dans le site”
“et si on ajoutait la
gestion de X, Y, Z”
“on devrait réfléchir à
comment faire plus fiable”
“tu as entendu
parler des ETL ?”
“Apprendre de ses erreurs”
Le pattern ETL - Extract-Transform-Load
Transformer
Rechercher, filtrer
et fusionner
... Charger
Extraire
Journaux
Transformer Charger
Extraire
Rejets
États d’exécution
Rejets
Transformer Charger
Extraire
Transformer Charger
Extraire
● Leo Marquine PHP-ETL (marquine/php-etl)
● Wizaplace PHP-ETL (wizaplace/php-etl) fork du précédent
● AkeneoBatchBundle (akeneo/batch-bundle)
● Etcetera (bitexpert/etcetera)
● Flow (flow-php/etl)
ETL dans l’écosystème PHP
“comment je peux corriger
ces points de blocage ?”
“The purpose of software engineering is
to control complexity, not to create it.”
Dr. Pamela Zave
Gyroscops
https://php-etl.github.io/documentation/
gyroscops.com
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Recherche et
fusion
Sylius
Custom code
FTP / SFTP
Fichiers
Image Docker
Déploiement
Serverless
RabbitMQ
Rejets
Kafka
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
Custom code
ElasticStack
Logs
Syslog
Gelf
Stream
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Sylius
Custom code
FTP / SFTP
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Custom code
Recherche et
fusion
Fichiers
Image Docker
Déploiement
Serverless
ElasticStack
Logs
Syslog
Gelf
Stream
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
RabbitMQ
Rejets
Kafka
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Sylius
Custom code
FTP / SFTP
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Custom code
Recherche et
fusion
Fichiers
Image Docker
Déploiement
Serverless
ElasticStack
Logs
Syslog
Gelf
Stream
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
RabbitMQ
Rejets
Kafka
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Sylius
Custom code
FTP / SFTP
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Custom code
Recherche et
fusion
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Fichiers
Image Docker
Déploiement
Serverless
ElasticStack
Logs
Syslog
Gelf
Stream
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
RabbitMQ
Rejets
Kafka
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Sylius
Custom code
FTP / SFTP
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Custom code
Recherche et
fusion
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Fichiers
Image Docker
Déploiement
Serverless
ElasticStack
Logs
Syslog
Gelf
Stream
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
RabbitMQ
Rejets
Kafka
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Sylius
Custom code
FTP / SFTP
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Custom code
Recherche et
fusion
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Fichiers
Image Docker
Déploiement
Serverless
ElasticStack
Logs
Syslog
Gelf
Stream
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
RabbitMQ
Rejets
Kafka
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Sylius
Custom code
FTP / SFTP
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Custom code
Recherche et
fusion
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Fichiers
Image Docker
Déploiement
Serverless
ElasticStack
Logs
Syslog
Gelf
Stream
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
RabbitMQ
Rejets
Kafka
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Sylius
Custom code
FTP / SFTP
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Custom code
Recherche et
fusion
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Fichiers
Image Docker
Déploiement
Serverless
ElasticStack
Logs
Syslog
Gelf
Stream
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
RabbitMQ
Rejets
Kafka
Akeneo
CSV
Spreadsheet OpenAPI
RabbitMQ
SQL
Extract
Fast Map
OpenAPI
SQL
Transform
Akeneo
Mapping
Recherche et
fusion
Sylius
Custom code
FTP / SFTP
Fichiers
Image Docker
Déploiement
Serverless
RabbitMQ
Rejets
Kafka
Redis
Suivi des états
d’exécution
RabbitMQ
Kafka
Custom code
ElasticStack
Logs
Syslog
Gelf
Stream
Load
Akeneo
CSV
Spreadsheet
Sylius
FTP / SFTP
OpenAPI
RabbitMQ
SQL
Custom code
Décrire
Compiler
Exécuter
satellites
Expression Language
e-commerce
API
catalogue
API
?
Transfert d’un catalogue
- complexe
+ maintenable
À vos questions !
Ma présentation est arrivée à son terme, mais vous pouvez l’enrichir
de vos questions
Crédits illustrations : Freepik Stories
Merci
Crédits illustrations : Freepik Stories

Contenu connexe

Tendances

Bien qu'en ligne votre site web n'est probablement pas en production
Bien qu'en ligne votre site web n'est probablement pas en productionBien qu'en ligne votre site web n'est probablement pas en production
Bien qu'en ligne votre site web n'est probablement pas en productionMarc Boivin
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Ouadie LAHDIOUI
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3Nicolas Lœuillet
 
LoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé AlbertonLoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé AlbertonWeLoveSEO
 
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Ori Pekelman
 
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Julien Jakubowski
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductionRoland Benedetti
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Guillaume Sautereau
 
Ting - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdesTing - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdesXavier Leune
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleKaliop-slide
 
Deployment of a multi-site platform
Deployment of a multi-site platformDeployment of a multi-site platform
Deployment of a multi-site platformKaliop-slide
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetDevclic
 
Performance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyPerformance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyXavier Leune
 
Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France François-Guillaume Ribreau
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureMicrosoft
 
#3 Nouveautes Deploiement Demarrage
#3 Nouveautes Deploiement Demarrage#3 Nouveautes Deploiement Demarrage
#3 Nouveautes Deploiement DemarrageGuillaume Sauthier
 
Php forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du MondePhp forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du Mondemarchugon
 

Tendances (20)

Bien qu'en ligne votre site web n'est probablement pas en production
Bien qu'en ligne votre site web n'est probablement pas en productionBien qu'en ligne votre site web n'est probablement pas en production
Bien qu'en ligne votre site web n'est probablement pas en production
 
Meetup laravel
Meetup laravelMeetup laravel
Meetup laravel
 
Php 100k
Php 100kPhp 100k
Php 100k
 
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
Real-Time applications avec la spécification Java (JSR 356) et le protocole W...
 
wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3wallabag, comment on a migré vers symfony3
wallabag, comment on a migré vers symfony3
 
LoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé AlbertonLoadTime & SEO - Erlé Alberton
LoadTime & SEO - Erlé Alberton
 
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
 
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
Du JavaScript propre ? Challenge accepted ! @Devoxx France 2013
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
 
Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010Présentation de CakePHP, 22/04/2010
Présentation de CakePHP, 22/04/2010
 
Ting - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdesTing - Un datamapper PHP sous stéroïdes
Ting - Un datamapper PHP sous stéroïdes
 
Redeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationaleRedeploiement d’une plateforme eZpublish multisites internationale
Redeploiement d’une plateforme eZpublish multisites internationale
 
Deployment of a multi-site platform
Deployment of a multi-site platformDeployment of a multi-site platform
Deployment of a multi-site platform
 
Kiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internetKiwiparty 2011 - Optimisation des sites internet
Kiwiparty 2011 - Optimisation des sites internet
 
Performance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfonyPerformance au quotidien dans un environnement symfony
Performance au quotidien dans un environnement symfony
 
Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France Une plateforme moderne pour le groupe SIPA/Ouest-France 
Une plateforme moderne pour le groupe SIPA/Ouest-France 
 
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans AzureDéployez votre site PHP / MariaDB, simplement et rapidement dans Azure
Déployez votre site PHP / MariaDB, simplement et rapidement dans Azure
 
#3 Nouveautes Deploiement Demarrage
#3 Nouveautes Deploiement Demarrage#3 Nouveautes Deploiement Demarrage
#3 Nouveautes Deploiement Demarrage
 
Php forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du MondePhp forum 2017 - Maisons du Monde
Php forum 2017 - Maisons du Monde
 
Présentation de Node.js
Présentation de Node.jsPrésentation de Node.js
Présentation de Node.js
 

Similaire à Synchroniser ses applications plus rapidement avec du low-code

Presentation sparklane aws
Presentation sparklane awsPresentation sparklane aws
Presentation sparklane awsSparklane
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?OVHcloud
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Benoît de CHATEAUVIEUX
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !matparisot
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Mathieu Parisot
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...sametmax
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
 
Princesse CI au pays des tests
Princesse CI au pays des testsPrincesse CI au pays des tests
Princesse CI au pays des testsHubert Lenoir
 
Realworld cd pipelines
Realworld cd pipelines Realworld cd pipelines
Realworld cd pipelines TREEPTIK
 
Procédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_finalProcédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_finalcisco7878
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsHugo Hamon
 
Python application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgentsPython application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgentsNicolas Mussat
 
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vieJean-Philippe Briend
 
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vieJean-Philippe Briend
 
SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)Rui Carvalho
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPrestaShop
 
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)Rémi Prévost
 

Similaire à Synchroniser ses applications plus rapidement avec du low-code (20)

Presentation sparklane aws
Presentation sparklane awsPresentation sparklane aws
Presentation sparklane aws
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 
Princesse CI au pays des tests
Princesse CI au pays des testsPrincesse CI au pays des tests
Princesse CI au pays des tests
 
Realworld cd pipelines
Realworld cd pipelines Realworld cd pipelines
Realworld cd pipelines
 
Procédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_finalProcédure ocs glpi_jeremy_chatel_2012_final
Procédure ocs glpi_jeremy_chatel_2012_final
 
Presentation
PresentationPresentation
Presentation
 
Intégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec JenkinsIntégration continue des projets PHP avec Jenkins
Intégration continue des projets PHP avec Jenkins
 
Xhprof
XhprofXhprof
Xhprof
 
Python application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgentsPython application packaging @ MeilleursAgents
Python application packaging @ MeilleursAgents
 
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
[DevFest Nantes 2016] Les Pipelines Jenkins dans la vraie vie
 
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
[Codeur en seine] Les Pipelines Jenkins dans la vraie vie
 
SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)SPA avec Angular et SignalR (FR)
SPA avec Angular et SignalR (FR)
 
Performance et optimisation de PrestaShop
Performance et optimisation de PrestaShopPerformance et optimisation de PrestaShop
Performance et optimisation de PrestaShop
 
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
Développement Web sur iPhone (iPhone+iPad DevCamp Québec)
 

Synchroniser ses applications plus rapidement avec du low-code