Olivier Halligon nous a présenté sa librairie OHHTTPStubs. Cette dernière permet de bouchonner vos requêtes réseau facilement. Sans modifier le code de votre application. Très utile dans les phases de développement et de test.
CoreData vous tente mais vous fait peur ? Vous trouvez le framework un peu dur à prendre en main ? Ou vous en avez marre d’écrire autant de ligne à chaque fois juste pour faire une simple récupération de vos données ?
Olivier Halligon (développeur de FoodReporter) vous offrira une découverte de MagicalRecord, le framework qui va drastiquement simplifier votre code CoreData, en apportant le Design Pattern ActiveRecord (comme utilisé en Ruby) sur Objective-C.
PHP 7.3 sera en beta à la fin de l'été, et cible une sortie avant Noel. De nombreuses nouveautés sont prévues de longue date, comme l'évolution de la syntaxe heredoc, ou les , finales pour les appels de fonctions, tandis qu'une rafale de nouveautés se bousculent au portillon, et ont même généré une alpha 4. Nous passerons en revue toutes ces évolutions, ainsi que les incompatibilités, comment les trouver dans du code, et comment fonctionnent les RFC de PHP.
PHP 7.3 sera en beta à la fin de l'été, et cible une sortie avant Noel. De nombreuses nouveautés sont prévues de longue date, comme l'évolution de la syntaxe heredoc, ou les , finales pour les appels de fonctions, tandis qu'une rafale de nouveautés se bousculent au portillon, et ont même
généré une alpha 4. Nous passerons en revue toutes ces évolutions, ainsi que les incompatibilités, comment les trouver dans du code, et comment fonctionnent les RFC de PHP.
MultiPeer Connectivity Framework par Nicolas Zinovieff. Technologie Apple permettant de faire de la discussion peer-to-peer entre devices.
Demo Github Project : https://github.com/krugazor/MCChat
Retour d’expérience de l’équipe MyLittleParis sur les tips autour de l’ASO (AppStore Optimisation et comment augmenter votre visibilité et vos téléchargements. Par Marion de MyLittleParis
Présentation par Dimitri Dupuis Latour.
Comment enrichir Xcode en fonctionnalités ? Présentation d’une petite sélection de plug-in cool et dans une seconde partie on abordera la création de son propre plugin.
Olivier Halligon nous a présenté sa librairie OHHTTPStubs. Cette dernière permet de bouchonner vos requêtes réseau facilement. Sans modifier le code de votre application. Très utile dans les phases de développement et de test.
CoreData vous tente mais vous fait peur ? Vous trouvez le framework un peu dur à prendre en main ? Ou vous en avez marre d’écrire autant de ligne à chaque fois juste pour faire une simple récupération de vos données ?
Olivier Halligon (développeur de FoodReporter) vous offrira une découverte de MagicalRecord, le framework qui va drastiquement simplifier votre code CoreData, en apportant le Design Pattern ActiveRecord (comme utilisé en Ruby) sur Objective-C.
PHP 7.3 sera en beta à la fin de l'été, et cible une sortie avant Noel. De nombreuses nouveautés sont prévues de longue date, comme l'évolution de la syntaxe heredoc, ou les , finales pour les appels de fonctions, tandis qu'une rafale de nouveautés se bousculent au portillon, et ont même généré une alpha 4. Nous passerons en revue toutes ces évolutions, ainsi que les incompatibilités, comment les trouver dans du code, et comment fonctionnent les RFC de PHP.
PHP 7.3 sera en beta à la fin de l'été, et cible une sortie avant Noel. De nombreuses nouveautés sont prévues de longue date, comme l'évolution de la syntaxe heredoc, ou les , finales pour les appels de fonctions, tandis qu'une rafale de nouveautés se bousculent au portillon, et ont même
généré une alpha 4. Nous passerons en revue toutes ces évolutions, ainsi que les incompatibilités, comment les trouver dans du code, et comment fonctionnent les RFC de PHP.
MultiPeer Connectivity Framework par Nicolas Zinovieff. Technologie Apple permettant de faire de la discussion peer-to-peer entre devices.
Demo Github Project : https://github.com/krugazor/MCChat
Retour d’expérience de l’équipe MyLittleParis sur les tips autour de l’ASO (AppStore Optimisation et comment augmenter votre visibilité et vos téléchargements. Par Marion de MyLittleParis
Présentation par Dimitri Dupuis Latour.
Comment enrichir Xcode en fonctionnalités ? Présentation d’une petite sélection de plug-in cool et dans une seconde partie on abordera la création de son propre plugin.
Nicolas Bouilleaud nous explique sa vision de l’agrégation (ou clustering, pour les plus anglophiles) des épingles de cartes géographiques (ou POI, pour les anglo-technophiles). Ce épineux problème d’interface utilisateur est souvent rencontré et les manières de le résoudre sont souvent décevantes dans les applications mobiles.
Dimitri Dupuis-Latour, suite à son intervention au Istanbul Tech Talks dans un thème beaucoup plus large, intitulé "Mastering Interface Builder", viendra nous parler des fonctionnalités et autres astuces autour d'Unwind Segue. Un mécanisme d'Interface Builder trop peu exploité, mais qui permet de simplifier largement les flows.
Nous terminerons avec un small talk autour d'un projet open source AppResizer porté par Ahmed Mseddi d'OCTO Technology. Il aura l'opportunité de nous dévoiler sa librairie qui permet de répondre aux questions que l'on peut se poser sur l'évolutivité de son application : va-t-elle correctement fonctionner si Apple sort un device avec de nouvelles dimensions ? Suis-je prêt à activer le multitasking iOS 9 ? Etc.
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureCocoaHeads France
Erwan Robin viendra nous expliquer comment l’entreprise arrive à pousser et mettre à jour à distance une configuration permettant de modifier le comportement d’une application publiée sur l’App Store. Le système était précédemment utilisé pour mettre à jour les localisations, il est désormais également exploité pour modifier les paramètres de l’app pour activer ou désactiver des fonctionnalité, à distance, en fonction des pays.
L’ouverture de Swift en open source (swift.org) nous a obligé à légèrement détourner le talk initial et à faire un décryptage de cette grosse annonce qui présage un bel avenir à ce langue et par extension à notre plateforme préférée
En vieux bourlingueur du langage Swift, Grégoire Lhotellier viendra nous présenter les séquences et les collections du nouveau langage d’Apple. Il nous briefera sur l’essentiel de ce qu’il faut en savoir et ce qu’elles changent par rapport à leurs équivalent Objective-C.
Nous parlerons de 3D Touch. Fonctionnalité empruntée à l'Apple Watch et rebaptisée lors de l'introduction de l'iPhone 6s. Jérome Morissard et Victor Carmouze nous présentera en détail le bénéfice apporté par ces nouveaux usages et comment fonctionnent ces nouvelles APIs.
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...CocoaHeads France
Nous aurons l’honneur de recevoir Bruno de Genius Scan. Il viendra nous parler de la genèse de l’application éponyme, dans un talk intitulé “Du boostrap à 20 millions d’utilisateurs, techniques et outils tirés de notre expérience.”
CocoaPods pour la gestion et la maintenance de librairies privées/internes, avec un retour d’expérience et quelques bonnes pratiques par Adrien Humilière de Captain Train.
How javascript core helped PAW to move from a small app to an extensible toolCocoaHeads France
Nous avons pour volonté de donner la parole à des créateurs d'applications et nous sommes donc ravis d'accueillir ce mois-ci le créateur de Paw. Pour ceux qui ne connaissent pas encore, c'est l'outil indispensable pour tester, spécifier et vérifier des webservices. Micha Mazaheri viendra nous expliquer comment JavaScript Core Framework a permit à Paw de passer d'une petite app à un outil extensible.
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.
Nicolas Bouilleaud nous explique sa vision de l’agrégation (ou clustering, pour les plus anglophiles) des épingles de cartes géographiques (ou POI, pour les anglo-technophiles). Ce épineux problème d’interface utilisateur est souvent rencontré et les manières de le résoudre sont souvent décevantes dans les applications mobiles.
Dimitri Dupuis-Latour, suite à son intervention au Istanbul Tech Talks dans un thème beaucoup plus large, intitulé "Mastering Interface Builder", viendra nous parler des fonctionnalités et autres astuces autour d'Unwind Segue. Un mécanisme d'Interface Builder trop peu exploité, mais qui permet de simplifier largement les flows.
Nous terminerons avec un small talk autour d'un projet open source AppResizer porté par Ahmed Mseddi d'OCTO Technology. Il aura l'opportunité de nous dévoiler sa librairie qui permet de répondre aux questions que l'on peut se poser sur l'évolutivité de son application : va-t-elle correctement fonctionner si Apple sort un device avec de nouvelles dimensions ? Suis-je prêt à activer le multitasking iOS 9 ? Etc.
BlaBlaCar et la mise en place d'une fonctionnalité FlagFeatureCocoaHeads France
Erwan Robin viendra nous expliquer comment l’entreprise arrive à pousser et mettre à jour à distance une configuration permettant de modifier le comportement d’une application publiée sur l’App Store. Le système était précédemment utilisé pour mettre à jour les localisations, il est désormais également exploité pour modifier les paramètres de l’app pour activer ou désactiver des fonctionnalité, à distance, en fonction des pays.
L’ouverture de Swift en open source (swift.org) nous a obligé à légèrement détourner le talk initial et à faire un décryptage de cette grosse annonce qui présage un bel avenir à ce langue et par extension à notre plateforme préférée
En vieux bourlingueur du langage Swift, Grégoire Lhotellier viendra nous présenter les séquences et les collections du nouveau langage d’Apple. Il nous briefera sur l’essentiel de ce qu’il faut en savoir et ce qu’elles changent par rapport à leurs équivalent Objective-C.
Nous parlerons de 3D Touch. Fonctionnalité empruntée à l'Apple Watch et rebaptisée lors de l'introduction de l'iPhone 6s. Jérome Morissard et Victor Carmouze nous présentera en détail le bénéfice apporté par ces nouveaux usages et comment fonctionnent ces nouvelles APIs.
Genius scan - Du boostrap à 20 millions d’utilisateurs, techniques et outils ...CocoaHeads France
Nous aurons l’honneur de recevoir Bruno de Genius Scan. Il viendra nous parler de la genèse de l’application éponyme, dans un talk intitulé “Du boostrap à 20 millions d’utilisateurs, techniques et outils tirés de notre expérience.”
CocoaPods pour la gestion et la maintenance de librairies privées/internes, avec un retour d’expérience et quelques bonnes pratiques par Adrien Humilière de Captain Train.
How javascript core helped PAW to move from a small app to an extensible toolCocoaHeads France
Nous avons pour volonté de donner la parole à des créateurs d'applications et nous sommes donc ravis d'accueillir ce mois-ci le créateur de Paw. Pour ceux qui ne connaissent pas encore, c'est l'outil indispensable pour tester, spécifier et vérifier des webservices. Micha Mazaheri viendra nous expliquer comment JavaScript Core Framework a permit à Paw de passer d'une petite app à un outil extensible.
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.
2. « HomeKit is a framework for communicating with and
controlling connected accessories in a user’s home. »
Apple
3. Principes d’une application HomeKit
• configurer sa ou ses maisons
• gérer ses objets connectés
• définir les actions à réaliser sur ses objets
• gérer les utilisateurs de la maison
• utiliser Siri pour piloter sa maison
5. Home Manager
• point d’entrée pour découvrir les
maisons d’un utilisateur
• liste des maisons
• permet d’ajouter/supprimer des
maisons
• accès direct maison principale
HMHomeManager
domicile
Agay
Campagne
6. Maison
• distribution des objets dans les pièces et les
zones
• liste des groupes de services disponibles
• liste des actions définies par l’utilisateur
• liste des scénarios définis par l’utilisateur
• point d’entrée pour agir sur les objets
Accessories
Rooms
Zones
ServiceGroups
ActionsSet
HMHome
Triggers
7. Pièce
• liste les objets dans la pièce
• nom utilisé par Siri
Accessories
HMRoom
8. Zone
• liste des pièces
• nom utilisé par Siri
• une pièce peut être dans plusieurs zones
Rooms
HMZone
9. Objet
• nom utilisé par Siri
• localisation
• liste des fonctions (services) fournies par l’objet
• 3 statuts
• joignable
• bloqué
• derrière une passerelle (bloque les actions d’ajout/
suppression)
• fonction pour demander à l’objet de s’identifier
• pour trouver les objets : HMAccessoryBrowser
Services
HMAccessory
service : ventilateurservice : lumière
10. Service
• représente une fonction pour un objet
• un service n’a pas obligatoirement un nom
• ex : une mise à jour de firmware n’a pas de nom
• les services sans nom ne doivent pas être affichés à l’utilisateur
• le type de fonction (serviceType)
• "fonction associée" possible pour les prises ou les interrupteurs
• liste des caractéristiques
• Siri reconnait le nom ou le serviceType
Characteristics
HMService
11. Caractéristique
• donne le type de paramètre et la valeur
• liste des propriétés du paramètre (lecture/écriture/notification)
• mode asynchrone pour la mise à jour d’une valeur
• metadata : informations complémentaires fournies par le fabriquant de
l’objet
• unité de la valeur (ex °C ou °F)
• valeurs minimales, maximales
• format
• notification possible mais seulement en cas de changement de valeur
depuis l’objet (valeur remontée par une sonde, action de l’utilisateur)
HMCharacteristic
properties
metadata
12. Groupes de services
• utilisé pour contrôler un ensemble
d’objets
• nom utilisé par Siri
• liste des services du groupe
• un service peut appartenir à plusieurs
groupes
HMServiceGroup
services
13. ActionSet
• rassemble un ensemble d’actions
• nom utilisé par Siri
• liste d’actions
• état d’exécution
• 4 actionsSet fournis par Apple
• WakeUP, Sleep, Departure, Arrival
HMActionSet
actions
14. Action
• initialisé par le type d’action à réaliser
• HMCharacteristicWriteAction :
positionne une valeur cible pour la
caractéristique d’un objet
HMCharateristicWriteAction
Characteristic
targetValue
15. Scénario
• initialisé avec un type d’activateur
• soit activé par un événement
• soit programmé ou récurrent
• liste d’actionSets
• état du scénario : actif/inactif
• nom utilisé par Siri
• la date de la dernière exécution
• exécuté en tache de fond
HMTrigger
actionsSets
16. HMTimerTrigger
• activation programmée ou récurrente
• heure de prochaine exécution (ne gère pas les secondes)
• intervalle : entre 5 minutes et 5 semaines, "nil" si pas de
récurrence
• date de prochaine activation calculée à chaque fois que
l’événement est déclenché
• calendrier à utiliser pour déterminer la prochaine date
d’exécution
• /! selon les calendriers il est possible que certaines dates
ne soient pas calculées
• timeZone : à fixer sur le fuseau horaire des objets
• si non fixé, basé sur le fuseau horaire de l’utilisateur…
HMTimerTrigger
fireDate
reccurence
calendarReccurence
calendarReccurence
17. HMEventTrigger depuis iOS 9
• liste d’événements
• HMLocationEvent
• HMCharacteristicEvent
• HMSignificantEventSunrise
• HMSignificantEventSunset
• "predicate" pour valider l’événement
HMEventTrigger
events
predicate
18. Home Kit Accessory Protocol (HAP)
• communication avec les objets HomeKit
• Bluetooth LE ou IP
• échange crypté
• bi directionnel
• puce d’authentification MFi obligatoire
• pour les objets connectés en IP :
• Bonjour utilisé pour les découvrir sur le réseau
• Mode passerelle disponible lorsque plusieurs objets sont connectés à un
accessoire HomeKit
• les mobiles sous iOS 9 n’ont plus besoin d’Apple TV pour avoir un accès distant
• les objets communiquent directement avec iCloud
19. Gestion des utilisateurs
• l’utilisateur créateur de la maison est
administrateur
• ajout/suppression d’utilisateurs via leur Apple ID
• droits restreints pour les invités:
• identifier les accessoires
• lire/écrire des données, être notifié des
changements
• exécuter des actions
20. Synchronisation des données
• une base HomeKit par
maison
• iCloud pour la
synchronisation entre les
mobiles des utilisateurs
• les applications ne
tournent pas en arrière
plan
21. Mise à jour des données
• mode asynchrone pour
prendre en compte le résultat
• applications au premier plan :
notification de mise à jour
reçue
• application en arrière plan : au
lancement une notification
invite à recharger toutes les
données
23. Freins au développement d’HomeKit
• pour les développeurs : un système encore jeune
• des fonctions manquantes
• prix du ticket d’entrée élevé
• pour les utilisateurs : l’écosystème Apple
• dépendance à la certification MFi
• pas d’accès en dehors des appareils iOS
• dépendance au cloud
• Obsolescence programmée