Interview : CocoaHeads, petites réunions entre développeurs

Christophe Laporte |
Alors qu'Apple sera en train de lever le voile sur iPhone OS 4.0, de nombreux développeurs se réuniront comme tous les mois à l'IESA Multimédia (5 rue Saint-Augustin - 75002 Paris) pour causer Cocoa. Un événement convivial qui tente de réunir aussi bien les débutants que les développeurs chevronnés. Cette fois-ci, il sera question des designs patterns et des API REST. Pourquoi avoir créé un tel événement ? Dans quel but ? Autant de questions et bien d'autres, notamment sur iPhone OS 4 et la WWDC que nous avons posées à l'initiateur de ce projet, Guillaume Cerquant, qui dans la vraie vie et cela ne surprendra personne, est développeur Mac et iPhone.


Pouvez-vous expliquer qu'est-ce que CocoaHeads exactement ?

CocoaHeads est un mouvement venu des États-Unis. CocoaHeads, c'est un groupe par et pour les développeurs passionnés par le même sujet (les technologies Apple) et qui se réunit mensuellement.

Au cours de ces rencontres, une ou plusieurs présentations techniques sont assurées par des bénévoles qui font souvent partie du public. CocoaHeads Paris est né il y a presque un an et demi : La 1ère session a eu lieu au mois de mars de l'année dernière.

Ces présentations permettent de rassembler un public de développeur, du débutant à l'expert, qui fait toute la richesse de CocoaHeads. L'objectif premier est de rester à jour sur les dernières évolutions techniques, mais les rencontres et les relations qui se tissent entre les participants sont la vraie valeur de ce projet.

Cela faisait quelque temps que je pensais à lancer un tel projet et le déclic a été de voir la carte du monde sur CocoaHeads.org, avec un énorme trou au milieu de l'Europe. 9 groupes en Allemagne, 4 en Grande-Bretagne, 2 en Espagne… et rien en France avec pourtant une communauté assez active. Je me suis dit qu'il fallait réagir.

Les premières sessions ont volontairement été annoncées de manière assez confidentielle, afin de pouvoir prendre de l'ampleur en douceur, et de permettre à l'esprit du groupe de se former.


Les réunions CocoaHeads à travers le monde


Ces réunions sont-elles gratuites ? Comment cela se passe-t-il au niveau de l'organisation et des thèmes abordés ?

Ce mouvement est complètement gratuit. L'accès est libre, et tous les présentateurs sont bénévoles. Chacun accepte de donner un peu de son temps pour partager avec les autres son expertise dans un domaine. De temps à autre, quand il y a trop peu de présentations de prêtes, j'en prépare et présente aussi.

CocoaHeads est de plus en plus animé par un groupe. Mathieu a récemment pris en charge toute la partie communication. C'est à lui que l'on doit le tout nouveau site web CocoaHeads.fr.

Chacun contribue à sa manière (édition des articles sur le site web, recherche de présentateurs, développement de l'application iPhone CocoaHeads...)

Je me contente de tirer les ficelles en arrière-plan, en trouvant du monde pour donner une présentation, et en réglant tous les aspects logistiques tout en conservant une homogénéité dans les événements.

Si un designer nous lit et veut contribuer, qu'il n'hésite pas à nous contacter. C'est aussi un bon moyen d'être vu par des développeurs qui ont constamment besoin d'icônes et de divers travaux graphiques.


Quel est le profil des participants ?

Il évolue doucement. Au début, le public était composé d'experts. De par le succès de l'iPhone, qui a amené beaucoup de développeurs à s'intéresser à Cocoa, nous voyons venir de plus en plus de débutants.

Ils ont soit des bases solides en programmation, mais n'ont aucune expérience avec le Mac, soit bricolent comme ils peuvent (Real Basic, AppleScript...) et veulent se lancer dans du développement d'applications Cocoa natives.

Une communication autour de ces réunions sur des sites plus généralistes a fait aussi évoluer le public.

Les thèmes des réunions dépendent fortement des présentations proposées, et de l'intérêt commun pour chaque présentation. Le plus gros défi consiste à équilibrer le niveau technique, pour que chacun, du débutant à l'expert, comprenne et apprenne quelque chose d'intéressant et nouveau.

Cette hétérogénéité, problématique pour préparer les présentations, est aussi ce qui fait la richesse des discussions lorsque nous dînons ensemble après chaque événement.

Verra-t-on des CocoaHeads ailleurs en France ?

J'aimerai. Il y a une forte demande dans le sud et à mon avis suffisamment de développeurs. Il suffirait que quelqu'un se lance.

Quelqu'un de Rouen est intéressé par en monter un. Il est en train de faire les premiers préparatifs, et s’il s'avère qu'une masse critique de développeurs est intéressée, il lancera le groupe là bas.

Si cela arrive, cocoaheads.fr s'agrandira pour leur donner un espace et fédérer la communauté de développeurs français.

Cocoa, maintenant, c'est le Mac, l'iPhone, l'iPad… Est-ce que ce n'est pas trop difficile de contenter tout le monde ?

Non, car cela reste Cocoa. La couche de l'interface graphique n'est pas la même, mais le moteur d'une application sera plus ou moins écrit de la même manière.

Certains outils sont transverses. Par exemple, CLANG, un compilateur qui permet une analyse du code source beaucoup plus poussé qu'avec un compilateur traditionnel, sera utile à tous.

La présentation sur les APIs REST de la prochaine session sera a priori utilisée dans le cadre d'une application mobile, sur l'iPhone. Mais les techniques proposées dans cette présentation seront les mêmes pour une application Mac interagissant avec des web services.

Est-ce que les ingénieurs d'Apple participent d'une manière ou d'une autre à ce genre de manifestations ?

Certainement plus dans des groupes en Californie, pour une simple question de proximité avec les équipes d'Apple.

À Paris, je regrette fortement l'absence totale de support de la part d'Apple. Jusqu'à ce jour, nos quelques demandes sont toujours restées sans retour.

Est-ce que les clauses de NDA parfois imposées par Apple aux développeurs lors de l'arrivée de nouvelles bêtas d'iPhones OS vous pénalisent lors de vos rencontres ?

Oui, un peu. Par exemple après la WWDC l'année dernière on aurait aimé en discuter entre nous. Ce n'était pas possible, sauf à restreindre l'accès à tous ceux ayant été à la conférence. C'est plus gênant pour le développement pur (que pour les sessions) quand on ne peut pas partager sur des forums.

Que conseillerez-vous à quelqu'un qui cherche à se mettre au développement sur Mac ou sur iPhone ?

Venir à CocoaHeads :)

Puis choisir un projet le plus simple possible, et s'y attaquer morceau par morceau. Ne surtout pas viser la lune pour un premier projet. Le livre de référence que je recommande est celui d'Aaron Hillegass [NDLR : Programmation Cocoa sous Mac OS X]. Puis ensuite, coder, coder et encore coder.

L'idéal, pour éviter de se décourager et de trouver quelqu'un avec le même niveau technique, pour pouvoir échanger ses problèmes, et avoir un soutien moral en cas de découragement. CocoaHeads est là aussi adapté.

Comment êtes-vous venu au Mac ? Développez-vous ?

Je suis passé par le monde UNIX, sa puissance et stabilité m'a plu. Par contre, devoir passer 30 minutes pour configurer une souris est pour moi inimaginable. Quand j'ai besoin de travailler, je ne veux pas devoir faire de la maintenance sur ma machine. Je veux pouvoir m'en servir immédiatement, en me concentrant uniquement sur mon activité en cours.

Depuis le passage à Mac OS X, Apple a brillamment réussi à concilier les deux mondes, avec un souci du détail que j'adore.

J'ai deux casquettes, développeur indépendant et prestataire de service. Je développe à mon compte une application Mac qui est un timer servant à être plus productif, inspiré par la philosophie GTD : TimeBoxed



Vous n'avez pas participé à la ruée vers l'or provoquée par l'arrivée de l'App Store ?

J'ai pendant longtemps résisté à la ruée vers l'or du développement d'applications iPhone, peu convaincu par les prix réduits de l'App Store.

Apple et Internet en général, adorent mettre en avant les success-stories où les développeurs sont devenus tellement riches qu'ils ont pu s'acheter une île sur le pacifique en quinze jours.

La réalité est un peu différente. Au début de l'App Store, ces articles oubliaient souvent que ces entreprises ont travaillé pendant des années sur le moteur et les graphismes de leur jeu, par exemple.

Avec les tarifs en place sur l'App Store, la seule solution pour s'en sortir est de faire du volume.

Mon regret est que cela peut limiter les applications de qualité pour un marché de niche. J'ai l'espoir et l'impression que ce mouvement est en train de s'inverser grâce à l'iPad.

J'ai cependant récemment craqué, et j’ai développé deux applications iPhone, un jeu et une application utilitaire. Mise en ligne prochainement...

À côté de ça, les contrats en prestation sont très majoritairement pour iPhone/iPod touch, pour des agences de communication et marketing, qui ne cherchent pas une rentabilité grâce aux profits générés par leurs ventes, mais qui ont un budget publicité à transformer en visibilité.

Est-ce que finalement le Mac n'a pas une logithèque plus restreinte, mais de meilleure qualité que celle de l'iPhone ?

Oui. Complètement oui. Et c'est justement cela qui ne me plaît pas.

Sur Mac, la logithèque s'est étoffée avec le temps, avec une qualité qui s'est sans cesse améliorée, grâce aux SDKs et outils fournis par Apple, mais aussi à l'amour du détail des développeurs.

Sur iPhone, on est encore dans le jetable. Pour nuancer ce dernier point, il ne faut pas oublier qu'avant de se lancer dans des applications plus complètes, beaucoup de développeurs attendent d'avoir un peu de retour sur ces nouveaux marchés. Et c'est une évidence, mais une application plus riche et évoluée prend plus de temps à être développée.

Quelles sont vos attentes d'une part concernant iPhone OS 4.0 et par rapport à la WWDC qui devrait avoir lieu cet été ?

Concernant la WWDC : la date ! Même sans ouvrir les réservations, simplement annoncer quand et où cela aura lieu est nécessaire. Parce que les tarifs des billets d'avion ne vont pas tarder à exploser. Et puis parce qu'une visibilité sur le planning à plus de deux mois serait appréciable.

Par rapport à iPhone OS 4.0, j'aimerai voir une vraie solution pour palier l'absence de multitâche. Aujourd'hui, sans utiliser d'API privée, il n'est pas possible d'afficher un message au bout d'un certain temps, quand par exemple un compte à rebours est écoulé.

Il faut passer par les push notifications, ce qui nécessite une infrastructure lourde, et un accès réseau sur le périphérique de l'utilisateur. Ce besoin est limité à seulement quelques applications sur l'iPhone, mais j'ai le sentiment qu'il sera de plus en plus fréquent avec l'iPad.

Je suis le premier à défendre leur choix technologique concernant le fait de ne pas pouvoir exécuter plus d'une application tierce simultanément. Ces nouvelles contraintes posent des nouveaux problèmes. Je fais confiance à Apple pour nous surprendre par la créativité de leur solution.

J'aimerai aussi une API publique pour accéder à la base de données du calendrier. Car le fait qu'iCal ne permette pas d'envoyer par mail les infos d'un événement ou n'affiche pas le champ URL me frustre régulièrement.

Apple est très focalisée en ce moment sur l'iPhone et l'iPad. En tant que développeurs Mac, cela vous inquiète ?

Non. iPhone et iPad ont plus de visibilité, mais c'est parce que ce sont les domaines dans laquelle il y a le plus d'innovation possible. Tous ces afflux de développeurs et utilisateurs ne font que renforcer l'écosystème mis en place par Apple.

Je n'ai accès à aucune info confidentielle, mais je ne serai pas surpris que le travail d'assainissement des fondations fait dans Snow Leopard soit la première brique d'une roadmap ambitieuse.

avatar 007peyo | 

c'est quoi le cocoa ?????

avatar eseldorm (non vérifié) | 

"Le cacao (du nahuatl cacahuatl qui désigne les fèves du cacaoyer1) est la poudre obtenue après torréfaction et broyage de l'amande des fèves de cacao fermentées produites par le cacaoyer."
©Wikipedia

Ça se consomme surtout dans un grand bol de lait avec ledit cacao dedans.

Ne me remercie pas :)

avatar sekhmet | 

Cocoa c'est l'environnement natif de programmation sous macosX, c'est basé sur un dérivé du langage C.

avatar Rez2a | 

Je trouve que c'est une très bonne initiative, ça doit être bien sympa tout ça.
Dommage, Paris c'est pas vraiment la porte à côté de chez moi. :/

avatar kirua | 

Wahh dans mon école bon ben j'irais le mois prochain !!

avatar Vinc | 

Quoi j'ai bien lu, y s'passe un truc à Rouen !? Y'a moyen d'avoir un contact avec la personne qui veut monter un cocoaheads à Rouen ?

avatar mmarc | 

Ya t-il des niçcois pour essayé de monter quelque chose du genre sur Nice ?

... Marc

avatar BadoqueAlex | 

Moi aussi je suis intéressé par un évènement à Rouen ! Je suis graphiste et programmeur windows m'intéressant à Mac ... Cela permettrait de me lancer dans Cocoa

avatar lafonjm | 

Bonjour,

J'ai participé à une des premières sessions à Paris (a la cantine). Vraiment très intéressant et instructif. Si vous êtes pro, le coût d'un déplacement est largement amorti par ce que vous pouvez y apprendre et des échanges/rencontres que vous pourrez avoir. Si vous êtes amateur cela est effectivement couteux si vous n'êtes pas dans la région parisienne.

Pour ma part je n'ai assisté à une seule session car il se trouvait que j'étais sur Paris à ce moment là. Mais venant de Nice je ne peux me permettre d'y participer à chaque fois.

J'avais proposé de monter un groupe sur la région de Nice/Antibes/Sophia-Antipolis. Il y a pas mal de développeurs Cocoa (L. Baumann, fzoc, F. Pillet , …) dans le coin et plus généralement d'informaticiens sur la technopole de Sophia-Antipolis. Ma proposition à malheureusement reçu un accueil très "froid". Dommage…

@mmarc : contacte moi en privé si tu veux. A défaut d'un CocoaHead on peut toujours essayer de voir si on peut faire des choses ensembles.

avatar ispeed | 

Bravo pour cette article et l'engouement pour la program cocoa.
C'est ce genre d'info qu'on apprécie Donc Merci à Christophe pour ce sujet

avatar lafonjm | 

[b]Pour info :[/b]

[url=http://www.pommedev.com/forum/index.php?topic=4493.msg44838#msg44838]Le fil ou je me proposait de lancer un CocoaHead sur Sophia/Antipolis[/url]

avatar kubernan | 

Les [b]APIs REST[/b] ? REST n'est pas en soi une bibliothèque d'APIs et donc il n'y a pas d'APIs REST dans cocoa. D'ailleurs à mon sens, API et REST sont antinomiques.
Tout ce que peux faire cocoa pour l'architecture REST concerne le protocole HTTP et là il y a des APIs.

REST reste (woua) une approche très intéressantes des webservices malgré quelques contraintes plutôt rébarbatives.

CONNEXION UTILISATEUR