La promesse de Xcode Server est de permettre de mettre en place un serveur d’intégration continue de manière très simple et rapide. Une fois en route, des tests unitaires peuvent être ajoutés très simplement. Jeffrey Macko nous expliquera comment tout cela fonctionne et ce que cela peut apporter à la qualité de votre code.
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Il a pour objectif de faciliter le déploiement d’une application, d’avoir plusieurs versions de celle-ci et également d’automatiser son packaging tout en gardant un système de base propre.
Alexandre Di Pino nous présentera cette technologie et l’utilisation qu’il en fait dans un contexte de production.
A propos de l’intervenant
Titulaire d’un master en informatique à Epitech, Alexandre travaille au sein de la société InSimo, société développant un moteur physique temps réel pour la simulation médicale. Twitter : @a_dipino / LinkedIn : alexandredipino
La promesse de Xcode Server est de permettre de mettre en place un serveur d’intégration continue de manière très simple et rapide. Une fois en route, des tests unitaires peuvent être ajoutés très simplement. Jeffrey Macko nous expliquera comment tout cela fonctionne et ce que cela peut apporter à la qualité de votre code.
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Il a pour objectif de faciliter le déploiement d’une application, d’avoir plusieurs versions de celle-ci et également d’automatiser son packaging tout en gardant un système de base propre.
Alexandre Di Pino nous présentera cette technologie et l’utilisation qu’il en fait dans un contexte de production.
A propos de l’intervenant
Titulaire d’un master en informatique à Epitech, Alexandre travaille au sein de la société InSimo, société développant un moteur physique temps réel pour la simulation médicale. Twitter : @a_dipino / LinkedIn : alexandredipino
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
Avec 3 autres MVP, nous avions réalisé une démonstration autour de Docker, ASP.NET Core et Raspberry PI 2 pendant la soirée du tech.days camp du 16/03 organisée par Microsoft. J'ai fait un retour d'expérience sur cette démo principalement sur le Continuous Delivery avec VSTS.
Vous pouvez reproduire la démo chez vous avec l'aide de notre repo Github https://github.com/punlimitlab/home.
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Que ce soit pour un free-lance ou une équipe, que ce soit pour le développement et/ou la mise en production, Docker est la solution qui va simplifier la gestion de vos projets.
Durant cette session René Cotton vous propose de découvrir Docker et voir comment l’utiliser pour le développement et la production.
A propos de l’intervenant
CoFondateur et Directeur Technique de WiziShop.com, depuis plus de 10 ans je mets toute mon énergie dans la création d’outil simple et performant. Depuis maintenant 7 ans cette énergie est focalisé sur le domaine du e-commerce.
Site : http://www.wizishop.com/
Twitter : @_Re_
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
Docker est un projet Open Source qui automatise le déploiement d’applications dans des conteneurs logiciels virtuels. Déjà utilisé par Google, Red Hat, RackSpace, ebay, Microsoft, Amazon, Docker rencontre un succès mondial et est en passe de révolutionner le marché du cloud et de la virtualisation.
Après avoir abordé les différentes problématiques autour d'AngularJS, du Continuous Delivery et de Java 8 :
les NightClazz sont de retours en 2015.
Zenika a hébergé le Docker Tour de France, en décembre dernier, souhaitant poursuivre notre investissement sur cette technologie nous vous proposons d'assister à la NightClazz Docker - Découverte.
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Subject: Oxalide's workshop about an overview of Docker and its ecosystem.
Date: 24-mai-2016
Speakers: Julien Follenfant (@Oxalide), Théo Chamley (@MrTrustor, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-workshop-number-4-docker-des-tours-dans-le-petit-bassin
Lien SlideShare : http://www.slideshare.net/LudovicPiot/workshop-4-docker-des-tours-dans-le-petit-bassin
YouTube Video capture: https://youtu.be/xJuRS6QYAAk
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
En très peu de temps, Docker a su s'imposer comme un standard de facto dans le monde du Cloud, ne laissant aucun fournisseur impassible. A mi-chemin entre IaaS et PaaS, Docker brouille les cartes et ouvre de nouvelles opportunités.
Au cours de ce talk, nous vous présenterons ce qu'est techniquement Docker, son impact sur l'écosystème, comment il a été adopté par Google et CloudBees et comment vous pouvez le mettre à profit pour vos propres développements.
Gérer son environnement de développement avec DockerJulien Dubois
Utilisation de Docker pour gérer une stack de développement "moderne", avec Maven / Grunt / Bower / Yeoman, et pouvoir facilement se partager ses containers entre membres d'une même équipe
This document discusses the problems with using the Alamofire library for making HTTP requests and proposes an alternative called Nikka. It outlines issues with Alamofire like being difficult to understand and extend. Nikka is presented as a simpler solution that provides base functionality for networking, supports different APIs, and allows for extensions. The implementation of Nikka using classes for providers and routes is demonstrated along with examples of requesting data and extensions for JSON parsing and futures/Rx support.
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
Avec 3 autres MVP, nous avions réalisé une démonstration autour de Docker, ASP.NET Core et Raspberry PI 2 pendant la soirée du tech.days camp du 16/03 organisée par Microsoft. J'ai fait un retour d'expérience sur cette démo principalement sur le Continuous Delivery avec VSTS.
Vous pouvez reproduire la démo chez vous avec l'aide de notre repo Github https://github.com/punlimitlab/home.
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Silicon Comté
Docker est une plateforme open source, pour les développeurs et les administrateurs systèmes, destinée à empaqueter une application et ses dépendances dans le but de l’exécuter sur n’importe quel serveur.
Que ce soit pour un free-lance ou une équipe, que ce soit pour le développement et/ou la mise en production, Docker est la solution qui va simplifier la gestion de vos projets.
Durant cette session René Cotton vous propose de découvrir Docker et voir comment l’utiliser pour le développement et la production.
A propos de l’intervenant
CoFondateur et Directeur Technique de WiziShop.com, depuis plus de 10 ans je mets toute mon énergie dans la création d’outil simple et performant. Depuis maintenant 7 ans cette énergie est focalisé sur le domaine du e-commerce.
Site : http://www.wizishop.com/
Twitter : @_Re_
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?ALTER WAY
Docker est un projet Open Source qui automatise le déploiement d’applications dans des conteneurs logiciels virtuels. Déjà utilisé par Google, Red Hat, RackSpace, ebay, Microsoft, Amazon, Docker rencontre un succès mondial et est en passe de révolutionner le marché du cloud et de la virtualisation.
Après avoir abordé les différentes problématiques autour d'AngularJS, du Continuous Delivery et de Java 8 :
les NightClazz sont de retours en 2015.
Zenika a hébergé le Docker Tour de France, en décembre dernier, souhaitant poursuivre notre investissement sur cette technologie nous vous proposons d'assister à la NightClazz Docker - Découverte.
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
Slides de l'introduction à Docker présentée par Thibaut Marmin et Antoine Boudot lors du premier Docker Tours Meetup (@DockerTours).
Présentation en trois parties :
- Introduction Docker (classique)
- Cas pratique en DEV
- Cas pratique en PROD
http://www.meetup.com/fr/Docker-Tours
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
4ème workshop @Oxalide, animé par Julien Follenfant, Théo Chamley (@MrTrustor) et Ludovic Piot (@lpiot), le 24 mai 2016.
Une entrée en matière sur la technologie Docker et son écosystème à date : pourquoi un tel engouement, à quel point Docker s'inscrit parfaitement dans la démarche DevOps…
Un TP sur le montage d'un cluster ElasticSearch avec le Dockerfile.
Une démo de kubernetes.
Subject: Oxalide's workshop about an overview of Docker and its ecosystem.
Date: 24-mai-2016
Speakers: Julien Follenfant (@Oxalide), Théo Chamley (@MrTrustor, @Oxalide) and Ludovic Piot (@lpiot, @Oxalide)
Language: french
Lien SpeakerDeck : https://speakerdeck.com/lpiot/oxalide-workshop-number-4-docker-des-tours-dans-le-petit-bassin
Lien SlideShare : http://www.slideshare.net/LudovicPiot/workshop-4-docker-des-tours-dans-le-petit-bassin
YouTube Video capture: https://youtu.be/xJuRS6QYAAk
Main topics:
* Introduction 15 min (Ludovic Piot)
** D’où vient Docker ?
** Les principales caractéristiques de Docker
*** POrtable (package)
*** DIsposable (cattle vs. pet)
*** LIve (git style)
*** SOcial (registry / Github style)
* Hands-on #1 - Mon premier container (Julien Follenfant 35 min)
** Un tour d’horizon de DockerHub
** Installation de Docker Toolbox
** Création d’un Dockerfile (outil stand-alone)
** Introspecter un container
** Configurer un container
** Monter un cluster Elasticsearch 3 nœuds
* Comment ça marche ? (Théo Chamley 20 min)
** Namespaces & cgroups
** Layered FS (les poupées russes)
** Cache Image
** Networking
** Volumes
* Nouvelles collaborations (Ludovic Piot 10 min)
** CaaS (infra + cluster de containers vs. containers + appli)
* Ecosystème 20 min
** Les produits Docker, inc. (Ludovic Piot)
** Les alternatives (CoreOS, OpenContainer Initiative, Warden/Garden) (Ludovic Piot)
** La registry (Docker Registry, Nexus) (Ludovic Piot)
** L’autodiscovery (Consul, etcd, ZooKeeper) (Ludovic Piot)
** Les composants réseaux (haproxy, traefik, zipnish) (Julien Follenfant)
** Les orchestrateurs (kubernetes (Théo Chamley), Mesos/Marathon, Swarm, Fleet) (Ludovic Piot)
** Les solutions PaaS/CaaS intégrées (OpenShift, Rancher (Théo Chamley), Deis, CloudFoundry) => screenshots (Ludovic Piot)
** Les services de cloud publics (AWS ECS et ECR, GKE) (Ludovic Piot)
* Demo - utilisation de Kubernetes 15 min (Théo Chamley)
* Questions / Réponses
En très peu de temps, Docker a su s'imposer comme un standard de facto dans le monde du Cloud, ne laissant aucun fournisseur impassible. A mi-chemin entre IaaS et PaaS, Docker brouille les cartes et ouvre de nouvelles opportunités.
Au cours de ce talk, nous vous présenterons ce qu'est techniquement Docker, son impact sur l'écosystème, comment il a été adopté par Google et CloudBees et comment vous pouvez le mettre à profit pour vos propres développements.
Gérer son environnement de développement avec DockerJulien Dubois
Utilisation de Docker pour gérer une stack de développement "moderne", avec Maven / Grunt / Bower / Yeoman, et pouvoir facilement se partager ses containers entre membres d'une même équipe
This document discusses the problems with using the Alamofire library for making HTTP requests and proposes an alternative called Nikka. It outlines issues with Alamofire like being difficult to understand and extend. Nikka is presented as a simpler solution that provides base functionality for networking, supports different APIs, and allows for extensions. The implementation of Nikka using classes for providers and routes is demonstrated along with examples of requesting data and extensions for JSON parsing and futures/Rx support.
Une approche qui permet d'alimenter des table views de manière déclarative, d'y combiner des données hétérogènes, et de gérer facilement et surtout de manière fiable les updates, par Amadour Griffais.
The document discusses an architecture for mobile applications using MVC patterns. It describes layers for models, views, controllers, storage, and routing. The model layer defines app domains and interfaces with storage. Storage handles persistence and converts data. Controllers are kept light by coordinating views through a router layer. Dependencies are injected to improve testability and reuse of models, storage and views across the app.
iOS 9 introduced several new features including split screen multitasking on iPad, search APIs, app thinning technologies like bitcode and app slicing, keyboard shortcuts, 3D Touch features, updated UI components like UIAlertController and SFSafariViewController, on demand resources, and the new Contacts framework. It also improved existing technologies like Auto Layout with new syntax and components like UIStackView.
The document discusses rebranding an iOS app called Capitaine Train to Captain Train. It goes over changes needed like updating the app name in code and assets. It also provides the timeline for the rebranding process which will take 6 weeks and includes a private beta period. Stylesheet colors are also defined for the new Captain Train brand.
This document discusses communication methods for smart things and their requirements. It lists requirements like low energy, mobility, proximity detection, and security. Potential communication mediums are then presented, including Bluetooth, BLE, WiFi, Zigbee, LPWAN networks, mobile networks, NFC/RFID, ultrasound, and voice. Examples of smart devices and the communication methods they use are provided, such as Philips Hue lights using Zigbee, iBeacons using BLE, WiFi scales, smartwatches using BLE/WiFi/BT, and Alexa using WiFi. Bluetooth iAP is described as allowing only accessory and user connection through BLE, with iOS app connection, energy efficiency,
This document provides instructions for setting up Swift programming on a Raspberry Pi, including downloading Swift binaries, installing dependencies, and using the SwiftyGPIO library to access GPIO pins. Key steps include installing Ubuntu Core or Raspbian on an SD card, installing Swift binaries from a URL or building from source, installing dependencies like libxml2 and clang, and using SwiftyGPIO to configure pin directions and read/write values to control an output pin based on an input pin. Tools like SourceKitten and rsub enable using the Swift compiler and debugger remotely over SSH.
This document discusses errors in Swift. It covers topics like:
- Any type can adopt the Error protocol in Swift
- Functions, computed properties, and subscripts can throw errors
- catch blocks can match patterns to catch errors
- Common errors include ignoring errors or not handling them properly
- Advanced topics include rethrowing errors, result equivalency, and different strategies for handling and responding to errors.
This document is from a talk about using Fastlane, a tool for mobile app deployment. It discusses how Fastlane can be used to continuously integrate and deliver mobile apps by automating tasks like syncing certificates and profiles, taking screenshots, uploading metadata and builds, and starting the app review process. The talk encourages contacting the organizers to participate in their weekly Wednesday tech talks on various mobile development topics.
This document discusses Safari app extensions for macOS. It provides a history of extensions in Safari and introduces Safari app extensions, which are bundled within macOS apps rather than distributed separately. Benefits of Safari app extensions include automatic updates through the Mac App Store and secure two-way communication between the extension and host app. The document also covers migrating existing extensions to the Safari app extension model and demonstrates communication between the extension and host app.
This document discusses monads in functional programming. It provides examples of optionals, arrays, and functions in Swift that exhibit monadic properties. It then defines monads more formally and describes some common monad types like the writer, reader, and IO monads. It shows how monads allow encapsulating effects like logging or environment variables while preserving referential transparency. The document concludes by discussing potential applications of monads to mobile apps.
This document introduces SuperCombinators, a parser combinator framework for Swift that aims to provide a declarative and memory-safe API. It discusses existing parser combinator solutions that had downsides like custom operators or memory leaks. The framework takes an approach of defining parsers as strings that are transformed into closures. It distinguishes between patterns that traverse strings and parsers that extract values, allowing for useful extensions and simplification of composition operators. Recursive parsers are handled by lazily generating parsing functions with unowned references to avoid reference cycles. An example demonstrates parsing integers and sums recursively in a declarative manner.
Cycle de vie d'un projet web agile avec TFS 2013, Azure VM et MonacoMicrosoft
Je réalise un projet web en mode agile. TFS 2013 et Visual Studio Online peuvent-ils m'aider ? Comment ? » Venez voir comment l'ensemble des possibilités de TFS 2013 combiné à Visual Studio 2013 supporte la réalisation d'un projet Web en Scrum grâce (entre autre) aux déploiements automatiques dans des VMs Azure et aux nouvelles capacités de Visual Studio Online. Le programme consistera en un jeu de rôle combinant les capacités de Visual Studio 2013, le pilotage projet grâce à TFS (organisation des scénarios et des tâches), comment faire le standup meeting avec l'interface web (planification et décomposition des scénarios / exigences), le code review, la création de tests unitaires, la création d’une infrastructure Azure pour gérer les déploiements automatiques, et enfin l'exécution des tests utilisateurs suite à la demande de revue par le client.
Speakers : Franck Farré (SQLI), Fabrice Hautot (SQLI)
Venez découvrir le temps d'une heure, System Center combiné aux solutions NetApp et Cisco pour un Cloud Privé à la mesure des attentes de vos utilisateurs. Session présentée par le partenaire : SCC.
Speakers : Rémi Chauvet (SCC), Arnaud Cazenave (SCC)
ingénieur consultant expert en technologies d’infrastructures Microsoft et vmware, je suis à votre disposition pour des missions free-lance, contactez moi sur h.haddad86@gmail.com
Architecture Réseau des clouds privés avec Hyper-V et System Center Virtual M...Microsoft Technet France
SCVMM 2012 R2 joue désormais un rôle central dans la création et le déploiement des infrastructures de virtualisation Microsoft. Cette session aborde les différents points nécessaires à la définition des réseaux physiques et logiques et à leur déploiement, le déploiement de clusters au sein de SCVMM 2012 R2, Cette session est destinée aux techniciens et architectes en charge de la définition d'une infrastructure Cloud privé et disposant d'une bonne connaissance de la virtualisation et de SCVMM.
Speakers : Christophe Dubos (Microsoft), Cédric Bravo (Nware), Nicolas Escalas (Alfun)
Web real time communication @UXRepublicUX REPUBLIC
Hugo nous présente le Web Real Time Communication (RTC) et l'ensemble de ses outils.
UX-Republic
Agence de design d'interfaces et centre de formation
www.ux-republic.com
Du streaming Live avec les jeux olympiques en passant par des services de VOD à grande échelle, ou bien de la diffusion vidéo d’entreprise, la tendance du marché est d’utiliser de plus en plus de services Cloud pour la diffusion de contenu audiovisuel. Lors de cette session, nous ferons un point sur les solutions disponibles et effectuerons de multiples démonstrations.
Speakers : Xavier Pouyat (Microsoft Corp), Benjamin Moulès (Microsoft France), Frédéric Le Coquil (Microsoft France), Julien Fauvel (Brainsonic), Jérôme Respaut (Brainsonic)
Une courte présentation à WebAssembly, des avantages et cas d'usages associés, des concepts techniques derrière (cf. AOT vs JIT), de l'état actuel du marché et de l'avenir de cette tendance / technologie
Windows Azure Media Services: des API pour encoder, transmuxer, diffuser, ...Microsoft Technet France
Windows Azure Media Services: des API pour encoder, transmuxer, diffuser vos vidéos sur le cloud public. Mode de fonctionnement, démos, retours d'expérience, et questions-réponses !
A travers ce webinaire, Patrick Prémartin donne des pistes pour répondre à la question "comment mettre mon application en ligne ?".
Vous y découvrirez quelles technologies sont fournies par Embarcadero avec les différentes versions de RAD Studio, Delphi et C++Builder mais aussi des solutions dans le commerce ou en logiciel libre.
IntraWeb, UniGUI et TMS Web Core font l'objet d'une courte démo pour en montrer les différences.
Des outils serveur (web et/ou API) sont évoqués pour les cas qui nécessiteraient de séparer interface utilisateur (web ou pas) de la partie codage de vos applications.
Ce webinaire est disponible en rediffusion sur https://serialstreameur.fr/webinaire-20210624.php accompagné de liens et resources complémentaires.
This document discusses mutation testing as a way to test code and test quality. Mutation testing involves intentionally breaking code in small ways (e.g. changing + to *) and ensuring tests catch these "mutant" versions. While code coverage measures how much code is executed, mutation testing checks that tests are thorough by breaking the code in multiple ways. The document provides examples of mutation testing and operators as well as a brief history of the technique. It notes that while time consuming, mutation testing can help identify faults that may cascade and ensure tests are comprehensive.
Thomas Levy-Mouisset (Meetic) - La puissance de débugging des app groups
Avez-vous déjà livré votre menu debug en Prod ? Nous oui, et nous avons trouvé une solution originale basée sur les App groups pour que cela n'arrive plus jamais.
Jordhan Léoture (Octo) - Asynchronous Swift
Comment simplifier et améliorer l’asynchronisme dans nos applications ?
Je vous présenterai quelques astuces afin d’exploiter au mieux GCD.
This document discusses visual accessibility features for blind and visually impaired users such as voice over, color filters, color inversion, and dynamic types. It provides demos of these features and recommends using smart color inversion to support users with visual impairments in apps. The document was presented by David Bonnet and discusses accessibility options for the CocoHeads Nantes conference on February 15, 2018.
This document discusses how to test push notifications in UI tests, including: sending notifications through a testing library called NWPusher; handling interactions on received notifications; and targeting multiple apps like the Springboard. It provides code examples for getting a device token, sending a notification, and testing different interaction types. While useful for testing analytics and notification workflows, the document notes UI testing push notifications has limitations in only working on real devices and potential stability issues.
This document provides lessons learned about developing Internet of Things (IoT) applications. It discusses using unit tests to debug IoT applications, implementing a data transformation layer to convert between data formats, and unit testing models. It also recommends simulating Bluetooth Low Energy (BLE) functionality on iOS simulators using wrappers and protocols. The document emphasizes simulating functionality as much as possible and applying server-side development principles to IoT apps.
The document discusses the HomeKit framework which allows controlling home accessories like thermostats, lights, and sensors from iOS devices and Siri. It covers setting up accessories by discovering them on the local network, adding them to rooms in the HomeKit home database, and naming their services. It also explains how to control accessories by reading and writing characteristic values, setting up notifications for changes, and creating automations with triggers and scenes. Security features like end-to-end encryption using keys stored locally are highlighted.
This document discusses using CocoaPods to build a modular iOS application with reusable components. It outlines slicing an app into modular "bricks", extracting them into separate CocoaPod libraries, and then rebuilding the app by linking the bricks together through the Podfile. Key steps include identifying app domains to extract, separating each domain into its own pod, and then reconstructing the main app through CocoaPods dependencies. The benefits of this approach include modularity, reusability, and the ability to develop components independently through their own projects and tests.
This document discusses strategies for migrating code from Swift 2.x to Swift 3.0. It recommends first migrating dependencies using tools like CocoaPods and Carthage. It then recommends using Xcode's migration assistant to fix issues, while also preparing code templates beforehand using tools like SwiftGen. Some challenges discussed include changes made automatically by the migrator, optional comparators being removed, and Grand Central Dispatch API changes. References for further information on the Swift 3 migration are provided.
This document discusses using BitTorrent on iOS. It provides an overview of BitTorrent, including its history, usage statistics, and technical details. It then discusses challenges with using BitTorrent on iOS and potential solutions, including using the libtorrent C++ library. It covers how to build and configure libtorrent for iOS, and how to interface it with Swift. It also describes how to implement an event loop to fetch torrent updates and progress. Some caveats mentioned are the need for fine-tuning to avoid heavy battery usage and lack of background session support on iOS.
This document discusses CloudKit, Apple's backend as a service (BaaS) that provides a turnkey backend solution for mobile apps. CloudKit allows developers to store and sync data across devices without needing backend server experience. It features fields for common data types, querying, sorting, pagination and push notifications. While providing a more user-friendly dashboard than manual coding, CloudKit's image bandwidth is limited and the public database had bugs in early iOS 10 versions. The document also answers questions about CloudKit's capabilities and limitations.
2. WEBRTC
QU’EST-CE QUE WEBRTC ? - WEBRTC.ORG
▸ WebRTC est une technologie qui permet à des clients
(navigateurs internet, mobiles, IoT) de se partager en P2P
et en temps réel des medias (tels que de l’audio, de la
video) ou du transfert de données.
▸ Une technologie jeune (2011): Mozilla, Google et d’autres
organisations discutent encore de la finalisation des
règles, API et protocoles de webRTC.
▸ Chrome, Firefox et Opera supportent nativement WebRTC.
Apple travaille actuellement à intégrer WebRTC à Safari.
2
3. WEBRTC
QUE CONTIENT LA TECHNOLOGIE WEBRTC ?
WebRTC est un package qui rassemble notamment:
▸ Codecs audio et video
▸ Technologies de traitement du signal (echo cancellation,
reduction du bruit, accès hardware)
▸ Gestion de la communication réseau (établissement de la
connection P2P, protocoles de communication, etc…)
▸ etc…
3
4. WEBRTC
QUE CONTIENT LA TECHNOLOGIE WEBRTC ?
4
• Standard Web API
• Session Management using SDP (offer/answer)
• Royaly Free Codecs
• G7.11
• Opus
• VP8/VP9
• NAT Traversal Strategies - STUN/TURN/ICE
• RTP/RTCP
• Encrypted Media - DTLS SRTP @ AES 128 bit encryption
• RTCP-MUX/Bundle and RTCP-FB protocols
• Forward Error Correction for media
• SCTP for Data transmissions
• Jitter buffers
• Packet loss concealment
• Web Camera and Microphone sub system
• Video and voice engine for rendering and playing video/audio
• Audio Echo Cancellers
• Auto Gain Control and Noise reduction
• Network Congestion Control
5. WEBRTC
WEBRTC: QUELLES APPLICATIONS ?
▸ WebRTC est adapté pour développer des fonctionnalités
telles que:
• Call audio et/ou vidéo
• Conférence online
• Partage d’écran
• Présentations live
• Transfert de fichier direct (de client à client)
• Plus généralement, communication en temps réel entre
appareils (ordinateurs, smartphones, tablettes, objets
connectés) sans serveur centralisé
5
6. WEBRTC
WEBRTC: QUELLES APPLICATIONS ?
▸ WebRTC n’est pas forcément adapté pour développer des
fonctionnalités telles que:
• Streaming de musique ou de vidéos: WebRTC priorise la
vitesse de communication plutôt que la qualité
• Messagerie: les applications de chat nécessitent souvent
de délivrer les messages aux destinataires offline
• Jeu multi joueurs: le besoin de coordination des
communications ou les différentes conditions réseau des
joueurs font d’un système de distribution centralisé des
données un meilleur choix
6
9. WEBRTC
WEBRTC: MISE EN OEUVRE
WebRTC permet des communications en peer to peer
mais… WebRTC a quand meme besoin de serveurs pour:
▸ Que les clients s’échangent les informations nécessaires
pour coordonner la communication. On parle de signaling.
▸ Gérer les adresses réseau et firewall à l’aide de serveurs
TURN (pour relayer le trafic en cas d’erreur) et STUN (pour
obtenir les adresses externes).
9
13. WEBRTC
WEBRTC: MISE EN OEUVRE
WebRTC permet donc la communication entre plusieurs clients. Mais cela ne
représente que 50% du travail, pour construire une application, il faut:
▸ Développer, déployer et maintenir un serveur de signaling
▸ Designer et développer un protocole de signaling
▸ Gérer les incompatibilités de certains navigateurs
▸ Gérer certains éléments réseau
▸ Porter WebRTC sur mobile
▸ Développer des fonctionnalisés additionnelles. Etc…
➡ Il y a donc 2 options: construire from scratch et maintenir sa propre solution, ou
utiliser une PaaS, typiquement une SDK communiquant avec ses propres
serveurs.
13
14. WEBRTC
TEMASYS - TEMASYS.IO / SKYLINK.IO
▸ Plugin pour IE et Safari
▸ Skylink SDK pour Web, iOS, Andoid et C++ (IoT)
Simplifie le travail du dévelopeur et comprend
notamment:
• Signaling
• TURN
• Skylink Media Relay
• Recording (à venir)
14
15. WEBRTC
SKYLINK SDK POUR IOS: DEMO
▸ Comment développeriez vous une app de call vidéo ?
▸ skylink.io/ios
15
23. WEBRTC
SKYLINK SDK POUR IOS: SAMPLE APP
github.com/Temasys/SkylinkSDK-iOS-Sample
Le repo sert d’exemple pour réaliser les fonctionnalités suivantes
sur iOS avec Skylink:
▸ Video call
▸ Audio call
▸ Chat en temps réel
▸ Transfert de fichier direct (photos, videos, musiques)
▸ Transfert de données
23