Application Bitcoin cross platform Xamarin sur Azure en REST
Nous sommes une communauté sympa d'informaticiens, de développeurs qui créent des programmes informatiques applications multiplatesformes sur des smartphones, PC portables, etc. et qui se réunit pour discuter des nouvelles technologies. Les anciens y voient une sorte de "café-philo" en référence aux débats animés de Marc Sautet au café des Phares, place de La Bastille à Paris. Merci à Cellenza, Xebia, Microsoft, Soat, Octo, pour ce networking à la fin pour discuter technique, demander de l'aide sur tel ou tel sujet, du feedback, et faire connaissance avec les petits nouveaux.
Toute la documentation est opensource en markdown sur Github. On peut faire des pull requests, super! https://docs.microsoft.com est le nouveau MSDN.
Laurent Buignon vient depuis la suisse et nous fait une démo de son app qui affiche en temps réel la valeur du Bitcoin sur son mobile. Comment fonctionne-t-elle? Il nous présente comment construire l'interface de programmation basée sur HTTP avec les Fonctions Azure. Il vient de Berlin et Munich ou il y a eu le meeting redshirt. Il revient juste de Redmond et a demandé comment implémenter certaines fonctionnalités aux ingénieurs Azure.
Proof of concept d'une app front et d'un web service vers l'API dans Azure
Tout le monde parle de ses applications "serverless". sans serveur Mais le secret c'est qu'il y a quand même un serveur. Marketing quand tu nous tient...
Voici la video Azure Manifesto, avec "Azure, Azure, Azure, cloud for all" avec des tetes bien connues ;-)
https://developer/microsoft.com/en-us/Advocates
il y a du java et azure, NodeJS et Azure
Parler aux gens, écrire des articles, populariser les solutions Azure
Microsoft team comme moyen de discussion, avec scott
Du monde de chez Docker
Une question? Posez-la ici
Aide au développement d'applications
Azure, création de l'application backend
Dans Azure, on va creer l'application, un domaine, fonction.azurewebsite.net
souscription: on choisit celle à laquelle on est abonné
resource group: pratique pour gerer un groupe d'applications
Quel OS? Windows? Linux?
Hosting plan? Comment on va etre factuer
Consumption plan: on est facturé que quand l'app tourne, à la demande
App service plan: pour faire des budgets, on sait combien on va payer par mois. On peut partager l'accès avec d'autres applications web existantes, et partager les ressources.
Location, le lieux du datacenter ou va etre stockée la donnée
On selectionne l'europe de l'Ouest, sinon On aurait pu prendre l'Irlande, North europe
Storage: compte où l'on va pouvoir emmagasiner des données, des blobs comme des images, videos, pdf, ou des
tables. On peut intégrer cosmos gibi pour gérer du geocluster
Application insight: ajouter de l'analytics. Par defaut, on peut faire des logs et les voir à la console. Mais
avec cetet fonction, on peut avoir des graphes, des alertes, etc
Création de la fonction, déploiement en cours... "deploiement succedded"
Fonctions/applications, on va voir la fonction:
On va pouvoir creer une fonctiona avec une requette HTTP, avec du get post, update, donc exposer une API.
On peut chpoisir le langage, C#, Python.
Sur Azure, il y a des "queues" entre services.
Blog trigger: on envoie une photo par exemple, dès que la photo est sur le blog, on appelle les cognitive services
sur la photo pour détecter les formes, les sourires par exemple et envoyer le texte "la personne sourit". On peut
extraire les coordonnées GPS...
IOT pour automatiser les appareils dans les maisons.
Webhook: github webhook, si quelquechose change sur github, un commit, et bien on démarre une fonction (faire un
build, ou publier sur l'appstore...)
On va selectionner HTTP get avec C# et on l'appelle "ad"
Maintenant on va déclarer la route qui va nous permettre de gérer ce qui va se passer.
route add/num1/num1...
la méthode: get ou post
on sauve, ca deploie dans le nuage
On voit l'url de la fonction qui commence par https:// ... / api ...
parce qu'on construit une API
Et donc, on copie cette fonction, pour la tester, on remplace les paramètres dans l'url du navigateur
Dans visual studio, on peut faire pareil:
New project, cloud, "azure functions"
add, new item, et on cherche la fonction, on voit les triggers
Le code est construit automatiquement, et je vois l'appel de la route, le log
On crée l'objet additionresult et on retourne un okobjectersult et il retourne un objet sérialisé JSON, sympa
On peut choisir d'utiliser .net framework ou .net core (attention, nos librairies devront .net code, comme Nuget...)
Quand on installe le workload azure, on installe aussi le runtime des fonctions, ce qui nous permet de tester en
local et de deploye rensuite sur Azure en production.
Quand on appelle un service en JSON, pour connaitre la valeur exacte du bitcoin ou de l'etherum, on a un retour en
temps réel dans l'éditeur, c'est bien pratique.
On peut ajouter un projet de test pour faire des tests unitaires. Le mieux c'est de mettre le code dans la
librairie pour faire les tests unitaires et tests d'intégration.
On peut deployer directement depuis Viisual studio avec un clic droit! "publish", on cree un profil, unnom pour la
fonction, quelle souscription, dans quelle région, comment etre facturé. Publish et hop ça publie sur Azure
Dans Azure, les Deployment slots
Ca permet de deployer sur Azure, mais en stagging avant de deployer en production
Le code est dans visual studio, mais on voit les logs
On va sur la fonction, on regarde "swap" et platform features, et slots
La fonction est en "readonly", il faut la passer en "read/Write"
On peut ajouter un slot, on l'appelle "stagging". A partir du moment où il est créé, on peut déployer sur le stagging. On peut tester le SSL par exemple, les custom domains... Une fois qu'on a tout testé, on peut swapper entre production et stagging, c'est top
Une question? Posez-la ici
Aide au développement d'applications
Une application Xamarin forms XAML
Xamarin est une solution basee sur Mono, créé en 2001, on va écrire du code C#, F# .net et on a l'avantage d'avoir toutes les librairies nugett... On a directement le support pour Android, IOS, Windows et tout ca avec une seule UI.
1 UI Android, 1 UI IOS, 1 UI Windows? Non, juste 1 UI commun grace à Xamarin forms et XAML.
On peut mixer les 2 si on veut. on peut faire 1UI commune
On met par exemple les "conditions generales" que personne ne lit en UI commune, et les autres pages en UI spécifiques à la plateforme.
On recupere le JSON désérialisé et on affiche le résultat
Et voilà démo sur le web ca fonctionne et sur Android ca fonctionne!
Voici l'Url pour avoir tout ce dont on a besoin pour recréer l'application, les codes sources, tout es là: http://gslb.ch/crossplatformparis18
et en cadeau, une offre azure: réduction de 60 $ pour utiliser tous les services: .
http://gslb.ch/c17s-crossplatformparis18
Une question? Posez-la ici
Aide au développement d'applications
Ce transcript reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit
Voilà, j'espère que ça vous a plu. Vos commentaires/remarques sont les bienvenus
Commentaires
your technique of blogging. I book-marked it to my bookmark site
list and will be checking back in the near future.
Please check out my web site too and let me know your opinion.
S’abonner au flux RSS pour les commentaires de cet article.