Slides de la présentation "Tests automatisés sur iOS" de la session des CocoaHeads Rennais du 13 octobre 2011. Présentation assurée par Quentin Arnault, Ingénieur chez Niji.
Gérer ses environnements de développement avec Vagrant - RMLL 2012Jean-Marc Fontaine
Gérer un environnement de développement efficace est une tâche plus complexe qu’il n’y paraît à première vue. D’une part parce qu’en réalité nous devons souvent en avoir plusieurs, des projets différents nécessitant généralement des configurations différentes, d’autre part parce que nous travaillons rarement seul sur un projet. Il faut donc trouver un moyen de garder une relative synchronisation entre les environnements des différents développeurs tout en évitant de polluer leurs machines avec des composants trop spécifiques ou incompatibles entre eux.
Nous verrons comment Vagrant simplifie cette gestion des environnements de développement. Il s’agit d’un outil basé sur VirtualBox qui permet d’utiliser Puppet ou Chef pour gérer les configurations de machines virtuelles.
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Jean-Marc Fontaine
Gérer un environnement de développement efficace est une tâche plus complexe qu'il n'y paraît à première vue. D'une part parce qu'en réalité nous devons souvent en avoir plusieurs, des projets différents nécessitant généralement des configurations différentes, d'autre part parce que nous travaillons rarement seul sur un projet. Il faut donc trouver un moyen de garder une relative synchronisation entre les environnements des différents développeurs tout en évitant de polluer leurs machines avec des composants trop spécifiques ou incompatibles entre eux. Nous verrons comment Vagrant simplifie cette gestion des environnements de développement. Il s'agit d'un outil basé sur VirtualBox qui permet d'utiliser Puppet ou Chef pour gérer les configurations de machines virtuelles.
Formation Gratuite Total Tests par les experts Java Ippon Ippon
Garantissez la qualité des vos applications par des tests efficaces : unitaire, d'intégration, de performance... Apprenez à mettre en oeuvre un harnais de tests complet et efficace avec Junit, AssertJ, Mockito, Spring Test, Arquillian, ... et assimilez les concepts du TDD et du BDD, illustré avec Cucumber. La formation Total Test Training ira encore plus loin en vous présentant l'utilisation de Sonar et le rôle des tests dans un système d'intégration continue. Enfin, les aspects liés à la mesure de la performance (instrumentation avec Metric et stress test avec JMeter et Gatling) et à l'optimisation ciblée vous permettront d'être en mesure de produire un code "propre", protégé des risques de regressions.
Gérer ses environnements de développement avec Vagrant - RMLL 2012Jean-Marc Fontaine
Gérer un environnement de développement efficace est une tâche plus complexe qu’il n’y paraît à première vue. D’une part parce qu’en réalité nous devons souvent en avoir plusieurs, des projets différents nécessitant généralement des configurations différentes, d’autre part parce que nous travaillons rarement seul sur un projet. Il faut donc trouver un moyen de garder une relative synchronisation entre les environnements des différents développeurs tout en évitant de polluer leurs machines avec des composants trop spécifiques ou incompatibles entre eux.
Nous verrons comment Vagrant simplifie cette gestion des environnements de développement. Il s’agit d’un outil basé sur VirtualBox qui permet d’utiliser Puppet ou Chef pour gérer les configurations de machines virtuelles.
Gérer ses environnements de développement avec vagrant - PHP Tour Nantes 2012Jean-Marc Fontaine
Gérer un environnement de développement efficace est une tâche plus complexe qu'il n'y paraît à première vue. D'une part parce qu'en réalité nous devons souvent en avoir plusieurs, des projets différents nécessitant généralement des configurations différentes, d'autre part parce que nous travaillons rarement seul sur un projet. Il faut donc trouver un moyen de garder une relative synchronisation entre les environnements des différents développeurs tout en évitant de polluer leurs machines avec des composants trop spécifiques ou incompatibles entre eux. Nous verrons comment Vagrant simplifie cette gestion des environnements de développement. Il s'agit d'un outil basé sur VirtualBox qui permet d'utiliser Puppet ou Chef pour gérer les configurations de machines virtuelles.
Formation Gratuite Total Tests par les experts Java Ippon Ippon
Garantissez la qualité des vos applications par des tests efficaces : unitaire, d'intégration, de performance... Apprenez à mettre en oeuvre un harnais de tests complet et efficace avec Junit, AssertJ, Mockito, Spring Test, Arquillian, ... et assimilez les concepts du TDD et du BDD, illustré avec Cucumber. La formation Total Test Training ira encore plus loin en vous présentant l'utilisation de Sonar et le rôle des tests dans un système d'intégration continue. Enfin, les aspects liés à la mesure de la performance (instrumentation avec Metric et stress test avec JMeter et Gatling) et à l'optimisation ciblée vous permettront d'être en mesure de produire un code "propre", protégé des risques de regressions.
El SBD de la Universitat de València. Las bibliotecas de la UV, en particular la Biblioteca d'Humanitats Joan Reglà, su colección, servicios, instalaciones, etc.
Malaria is one of the top causes of death among children in many African countries. Learn how Rotarians are using The Rotary Foundation’s global grant model to actively participate in the fight against this disease in West Africa.
El SBD de la Universitat de València. Las bibliotecas de la UV, en particular la Biblioteca d'Humanitats Joan Reglà, su colección, servicios, instalaciones, etc.
Malaria is one of the top causes of death among children in many African countries. Learn how Rotarians are using The Rotary Foundation’s global grant model to actively participate in the fight against this disease in West Africa.
Présentation de Maven et de son utilisation en entreprise dans le cadre du Ch'ti JUG, le 15 juin 2009.
Pourquoi Maven ? Pourquoi l'adopter ? Les bonnes et mauvaise pratiques. Son avenir ...
GWT est une techno qui permet de coder dans le même langage côté client et serveur, alors pourquoi utiliser des objets différents ? Ce quickie cherche à présenter comment lever les contraintes techniques pour écrire moins de code.
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.
Cocoaheads Rennes #3 : Bien coder sur iOSCocoaHeadsRNS
Slides de la présentation "Bien coder sur iOS" de la session des CocoaHeads Rennais du 08 septembre 2011. Présentation assurée par Julien Quéré, co-organisateur.
Bien que Docker soit facile d'utilisation, construire une image reste un exercice compliqué.
Optimisation, layers, et sécurité nécessitent de s'abstraire des Dockerfile basiques qu'on peut trouver sur internet.
Dans ce BBL, nous verrons comment bien packager une application Spring Boot dans une image Docker/OCI.
Nous allons parcourir les bonnes pratiques préconisées par Spring, les pièges à éviter, comment bien écrire un Dockerfile pour optimiser la construction et l'image finale pour une exécution dans Kubernetes et nous verrons aussi des moyens alternatifs de construction d'images Spring Boot et l'outillage d'analyse à ajouter à votre toolbox.
"Introduction aux Developements iOS" in Three hoursLaurent MEURISSE
Après le succès de la première séance, je présente avec Mélanie Bessagnet (@mbessagnet) pour la deuxième fois la session "Introduction au développement iOS" organisée par iConcept à Toulouse et ekito.
La présentation permettra en 3 heures d'aborder de nombreux thèmes, aussi bien pratiques que techniques sur le développement d'application iOS (iPhone et iPad). Elle est destinée à la fois aux néophytes, mais aussi aux développeurs (java, web, php) ... car une séance de 45 minutes sera du code pure (et donc du pure bonheur ;).
Voici le programme :
Succès d'IOS
iOS
l'excellence Ergonomique
App Store (en quoi consiste la publication sur l'app store ? nous expliquerons aussi en détail les différentes licences développeurs)
Développer
Concevoir (avec Story Boarding)
Profiles et Certificats
Beta Testing
MDM (nous expliquerons comment est géré une flotte de terminaux (iPhone, iPad) gràce au Mobile Device Management)
Coder
L'environnement de développement XCode
Objective-C en 15 minutes
Les nouveautés du SDK iOS 5 (ARC, iCloud, Apparearence, ...)
Coding (Pratique)
il s'agit de coder une première (petite) application. Le code de l'application sera disponible en début de séance.
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Benoît Lafontaine
Presentation played at USIEVENT 2013, see the presentation on youtube: http://www.youtube.com/watch?v=UcDtH5s406M&feature=share&list=PLyzb9DL11tdZBlz6nY8TZxMcqVf04K5wY
Présentation de Sonar 2.0 et plus généralement de l'évolution du métier de développeur au JUG Genève. Bonne ambiance, bonne participation, bon feedback !
Slides de la présentation de Sonar 2.0 sur les 7 péchés capitaux au GenevaJUG le 23 février 2010.
La sortie de la version 2.0 de la plateforme Open Source Sonar est l'occasion de revenir et d'échanger sur l'un des plus jeunes métier du monde: Développeur logiciel. Après de nombreuses générations d'autodidactes, de passionnés, qu'est qu'être développeur professionnel aujourd'hui, quels sont nos responsabilités et nos défis ?
Le principal héritage légué par un développeur et plus globalement par une équipe de développement est son code source. La principale qualité attendue d'un code source est est sa capacité à permettre d'accueillir le changement à moindre coût. Quels sont donc les critères d'évaluation de cette qualité du code source ?
Présentation faite par Freddy Mallet
www.sonarsource.com
www.genevajug.ch
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.
La traditionnelle mise à jour annuelle de nos petits bijoux de poche est moins discrète cette année avec une remise à plat de son design … Mais il y a aussi de très nombreuses nouveautés pour les développeurs. UIKit Dynamics, les motions events et les custom transitions en font partie. Elles renouvellent notre expérience des interfaces UIKit.
David Bonnet (créateur de CarMusic) est venu nous parler des custom transitions. Après une courte introduction et quelques exemples, vous devriez repartir avec plein d’idées pour personnaliser votre app…
CocoaHeads Rennes #14: Programmation Responsive par CeledevCocoaHeadsRNS
Xcode, c’est très puissant, mais devoir recompiler, charger et relancer son application à chaque fois qu’on fait une modification dans le code, ça devient vite fastidieux. Si les changements dans le code pouvaient s’appliquer en temps réel dans l’application, on gagnerait pas mal de temps qu’on pourrait consacrer à expérimenter des idées nouvelles et à améliorer nos apps. Un rêve ? Plus vraiment.
Celedev, une startup rennaise, a développé un environnement de développement pour iOS entièrement conçu autour de cette idée de Programmation Responsive. Jean-Luc Jumpertz (créateur de Celedev) est venu nous présenter cet outil et nous faire une petite démo.
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.
Il existe de plus en plus de composants et librairies de qualité pour iOS, mais les récupérer, les configurer et les mettre à jour prend un temps fou.
Thomas Dupont (Co-organisateur des CocoaHeads Rennes) nous as présenté CocoaPods: un outils de gestion de dépendance qui va vous simplifier la vie !
CocoaHeads Rennes #9 : Gestion mémoire, du débutant à l'expertCocoaHeadsRNS
La session rennaise des CocoaHeads du mois d'avril 2012 fût l'occasion de revenir sur un des grands sujets d'iOS: la gestion mémoire. Thomas Dupont nous a présenté le sujet en partant des considérations les plus simples en allant vers les cas les plus complexes. Sa présentation est assurément un bon moyen pour se lancer dans le sujet, pour faire un rappel des basiques ou pour aller plus loin ... Une large partie de sa présentation était consacrée à ARC.
CocoaHeads Rennes #7 : Intégration continue pour les nulsCocoaHeadsRNS
Screencast de la présentation du 16 février 2011 aux Cocoaheads Rennes.
« Mais je comprends pas, ça marchait avant, ça ne marche plus ! ». Qui n’a jamais prononcé cette phrase au cours d’un projet ? Pourtant, la solution existe : l’intégration continue. Cette méthode consiste, entre autre, à vérifier l’intégrité d’un projet à chaque modification. Et ceci, de façon automatique. L’intégration continue pourrait sonner le glas du principe de régression et garantir la qualité de vos réalisations.
Cette présentation a été assurée par Jérémy Toudic (développeur mobilité, SII Rennes) et Gaël Durand (référent technique sur les technologies mobiles au sein de SII Rennes). Gaël est aussi l’auteur de « Objective-C Créez vos applications iPhone et iPad » et enseigne à l’université.
Vidéo sur la session sur Vimeo: http://vimeo.com/37104049
Slides de la présentation "iOS & Android" de la session des CocoaHeads Rennais du 10 novembre 2011. Présentation assurée par David Bonnet et Nicolas Klein.
CocoaHeads Rennes #3 : Bien débuter sur iOSCocoaHeadsRNS
Slides de la présentation "Bien débuter sur iOS" de la session des CocoaHeads Rennais du 08 septembre 2011. Présentation assurée par Jérémy Brault, ingénieur chez Niji.
CocoaHeads Rennes #2 : Pratiques de développement itératifCocoaHeadsRNS
Slides de la présentation "Pratiques de développement itératif" de la session des CocoaHeads Rennais du 30 mai 2011. Présentation assurée par Olivier Tabone, co fondateur de Ripple Motion.
CocoaHeads Rennes #1 : Grand Central DispatchCocoaHeadsRNS
Slides de la présentation "TA la découverte de Grand Central Dispatch" de la session des CocoaHeads Rennais du 21 avril 2011. Présentation assurée par Pierre Duchêne et Thomas Dupont, ingénieurs chez Niji
Slides de la présentation "Traduction automatique et intelligente d'applications Cocoa" de la session des CocoaHeads Rennais du 21 avril 2011. Présentation assurée par Olivier Halligon, créateur de Food Reporter.
8. xUnit
➡ Créé par Kent Beck et Erich Gamma
➡ Disponible sur un nombre important de plateformes
➡ Principes :
➡ Environnement simple
➡ Exécution des tests à la chaine
➡ Compte rendu du résultat de l’exécution des tests
9. Vocabulaire
➡ Assertion : prédicat attendu lors de l’exécution du test
➡ Test : méthode effectuant un test
➡ Test Case : classe regroupant un ensemble de Tests
➡ Test Suite : enchaînement de Test Case
➡ Fixture : contexte dans lequel un Test se déroule
➡ SUT : le système que l’on teste
10. La boucle principale
setUp
test_should_reset
tearDown
Pour chaque méthode test… d’une classe
Pour chaque classe de test
12. OCUnit
➡ Une implémentation de xUnit
➡ Répond aux besoins de tests unitaires
➡ Plus d’excuse, c’est INTÉGRÉ !
➡ Mais manque de maturité
13. GHUnit
➡ Une implémentation de xUnit
➡ Plus riche (tests asynchrones)
➡ Exécution de tests individuellement
➡ Mais plus lourd à la création du projet
15. OCUnit Vs GHUnit
OCUnit GHUnit
Possibilité de (re)lancer chaque
test
+ Intégration Compatible OCUnit
Macros plus riches
-
Lisibilité des logs
Installation
Utilisable depuis Xcode 4
21. Vous leur direz merci
➡ Mise en place simplifiée
➡ Réduit le couplage
➡ Exécution des tests plus rapide
➡ Met en valeur les collaborations entre objets
22. ➡ Peut masquer un problème
d’intégration
➡ A coupler avec des tests
d’intégration
23. Les tests d’UI
Testent la totalité de l’application
C’est un peu (beaucoup) ennuyeux
Facile d’oublier des tests
Ce que les utilisateurs voient en premier
28. Il reste des limitations
➡ Pas de lancement par ligne de commande
➡ Interdépendance des tests
➡ Difficile de débugger un test
29. julien@cocoaheads.fr
CocoaHeads #4 thomas.dupont@cocoaheads.fr
Rotation sur iOS
Mail : thomas.dupont@cocoaheads.fr
Web : www.cocoaheads.fr
Tests automatisés sur iOS
Mail : quentin.arnault@gmail.com