Cocoa.fr

Developpement Mac, Objective-C, Cocoa et Swift

Migration cocoa.fr

Un blog Mac qui garde l'esprit historique, avec une base moderne.

Theme modernise a partir de la palette d'origine. Architecture prete pour importer les anciens contenus Objective-C, Cocoa et Swift.

07 July 2008 Cocoa

La FAQ Cocoa.fr

Me voilà de retour après quelques jours sans billets pour cause de déménagement. Et pour recommencer à prendre mes marques tranquillement et finir de déballer les derniers cartons, je vous présente la FAQ Cocoa.fr. Elle commence simplement avec deux questions/réponses venant d’anciens billets, qui seront je l’espère le début d’un grande série :

Si vous avez d’autres questions, voir même la question et la réponse qui va avec, je suis ouvert à tout ajout.

27 June 2008 iPhone / iPod Touch

iPhone : SDK bêta 8 et AppStore

Apple vient de rendre disponible la bêta 8 du SDK iPhone (1.25 Go). Une vidéo sur la publication d’applications sur AppStore vient d’apparaitre, mais je n’ai pas réussi à la télécharger pour le moment (indisponible sur iTunes et le lien disparait lorsque je me connecte sur l’ADC).

Étant donné la sortie de l’iPhone 3G dans deux semaines (le 11 juillet), il s’agit certainement de la dernière version bêta.

25 June 2008 Logiciel

Gestion de version : Mercurial

Il faut bien commencer quelque part, ça va donc être avec Mercurial que je vais commencer cette série de billet sur les gestionnaires de version et comment les utiliser sur Mac.

Mercurial, est donc un gestionnaire de version distribué écrit en Python, et avec d’après le site du projet beaucoup d’avantages (comme tous les projets d’ailleurs) :

  • Rapide
  • Tenant la charge (aussi bien en terme de nombre de fichiers que du nombre de modifications de ceux-ci)
  • Robuste (transactions, backup, etc..)
  • Simple à utiliser, avec divers outils disponibles
  • Simplicité à adopter (fonction sur Mac, Unix et Windows. Propose des outils de conversion depuis d’autres gestionnaires)
  • Gratuit et sous licence GPL

Installation

Si vous utilisez Python et que vous avez déjà l’utilitaire easy_install, le plus simple est de l’utiliser :

sudo easy_install Mercurialercurial

Il est sinon possible d’installer Mercurial avec divers packages (Fink, Macports, etc.) ou depuis le code source du projet. Mais le plus simple reste de passer par easy_install, ce qui vous permettra de plus de l’utiliser par la suite si vous développez en Python ou que vous comptez le faire.

Si tout c’est bien passez, nous allons maintenant pouvoir passer la création d’un projet et les premiers commits.

Utilisation

Il existe diverses ressources sur l’utilisation de Mercurial. Voici les plus intéressantes :

Les plugins et outils

  • Bundle Textmate : il s’installe très facilement depuis le bundle GetBundle (Bundles -> GetBundle -> Install Bundle) et de choisir Mercurial
  • Mercurial Quick Start sous la forme d’un fichier A4 à imprimer et qui permet d’avoir d’un coup d’oeil toutes les commandes utiles
  • Le plugin TracMercurial pour utiliser Trac avec Mercurial comme gestionnaire de source.
  • Migrer de Subversion à Mercurial (sans rapport avec le Mac mais ça peut toujours être utile.

Pour conclure, Mercurial ne pose pas de problème pour l’installation ou l’utilisation sous Mac. Les diverses ressources que l’on trouve sur Internet s’applique très bien sans avoir besoin de chercher des solutions spécifiques.

23 June 2008 Apple

Interview de Olivier Chambon, développeur web sous Mac

longue série. Pour commencer, c’est Olivier Chambon de Travailleurs Du Web qui a bien voulu répondre à mes questions (merci, d’être indulgent, il s’agit de ma première interview) : Author: Fabien Schwob Status: published

  • Bonjour Olivier, peux-tu te présenter ?

Salut, je suis Olivier Chambon (aka Babozor), j’ai 33 ans (depuis hier), marié, une petite fille et je suis développeur web spécialisé dans les technologies OpenSource depuis presque 10 ans. J’ai créé et j’anime Travailleurs Du Web un site sur… les travailleurs dans le monde du web.

  • Depuis quand utilises-tu un Mac pour développer, et pourquoi être passer sur Mac ?

Je suis sur Mac depuis un peu plus de deux ans maintenant… en fait le switch est un peu un concours de circonstance, parce que comme beaucoup j’avais pas mal d’idées préconçues sur le Mac. En fait j’ai switché quand mon vieux laptop sous Ubuntu est mort, je devais absolument finir un travail et la seule machine dispo était un Mac Pro d’un ancien graphiste, je me suis mis dessus et quand j’ai découvert le Terminal, ça a été la révélation. Ca c’est l’histoire… ensuite plus moyen de re-switcher sur Windows (il n’empêche ma fille de 3 ans à un Desktop sous Ubuntu) ensuite pourquoi je reste sur Mac, il n’y a pas une grosse raison unique, mais c’est plutôt une somme de petites choses qui font que mon travail au quotidien est beaucoup beaucoup plus simple, je perds beaucoup moins de temps, l’interface est plaisante… et au contraire de ce que certains peuvent penser, oui un Mac ça plante, mais c’est en général moins dramatique.

  • En quel langage développes-tu et quels outils utilises-tu (éditeur, utilitaires, etc.) ?

Je suis développeur LAMP, donc principalement PHP (même si je test certains trucs sous Ruby ou Python) et évidemment j’utilise Textmate, l’éditeur ultime, une des raisons pour lesquelles j’adore mon Mac. Un utilitaire vraiment mortel aussi est MacFusion qui permet de monter un accès serveur SSH (ou FTP) en lecteur réseau, ultra pratique, accès direct et simple au code… en même temps en tant que Dev. je n’ai pas besoin de beaucoup de soft, mais ces deux là sont clairement indispensables et vraiment pratiques.

  • Si tu devais changer diverses choses sur Mac, qu’est ce que ce serait ? En gros, qu’est ce qui te gène pour sur un Mac ?

Pas grand chose en fait… et la dernière mise à jour de l’OS à corrigé pas mal de petits bugs (comme le switch de fenêtre sur Spaces sur une même application), en fait une des raisons pour laquelle j’adore mon Mac, c’est que je n’ai pas à m’inquiéter de trouver le driver ou d’install le patch machin truc, tout marche out of the box et je peux travailler sans me soucier de la carte son ou d’un truc dans le genre. J’ai un MacBook Pro et c’est un très bonne machine: robuste, suffisamment de port/plugs, taille de l’écran idéale (15 pouces, sinon trop petit ou trop grand), bonne autonomie… seul point négatif, la pseudo alu qui commence à se barre sur les zones où j’ai les mains (sueur caustique?) mais sinon rien de vraiment désagréable à dire… peut être un disque dur un peu plus gros?

  • Qu’attend tu de la part d’Apple ou d’éditeurs tiers pour te faciliter la vie en tant que développeur sur Mac ?

Mmm bonne question… et pas évidente à répondre. J’attends principalement un administrateur de base (MySQL en particulier) qui soit un peu plus évolué que ce qu’on peut trouver… aujourd’hui on trouve de bons outils mais destinés à une utilisation modérée, je cherche un soft un poil plus pro, qui tiennes la charge.

Je pense aussi qu’il manque un vrai soft de gestion de projet (y’a gantt project mais qui manque de fonctionnalités) à la BaseCamp ou MSProject, simple mais complet, ou alors je ne l’ai pas trouvé…

  • Pour finir, est-ce que tu aurais à message aux lecteurs de Cocoa.fr ou quelque chose que tu voudrais partager ?

Euh… vous avez du mérites, j’ai essayé de me mettre au Dev sous Mac et c’est plutôt chaud… donc bravo et continuez à nous filer des softs qui blastent. Une différence aussi principale avec les autres OS (à mon avis)… les gens sont habitués à la qualité et donc sont prêt à payer pour avoir un logiciel qui les aide, leur fait gagner du temps. Jamais payé une seule licence sous Windows, alors que là j’ai acheté une bonne dizaines de softs (TextMate, Screenium, MarsEdit, MailPlane, TaskPaper, Prompt, Parallels, OmniGraffle, Versions…), donc concentrez vous sur les features qui font gagner du temps et inédites, ou une nouvelle approche d’un problème.


Je tiens donc à remercier Olivier pour avoir pris le temps de répondre à mes questions, et si vous vous intéressez au développement Web, n’hésitez pas à allez lire ses billets sur Travailleurs Du Web.

23 June 2008 Mac OS X

Snow Leopard et les développeurs par MacGeneration

MacGeneration nous propose dans son article Snow Leopard : des développeurs en extase, une très belle revue des avis de divers développeurs concernant Mac OS X Snow Leopard. Je pense que la citation qui résume bien Snow Leopard est :

Même s’il a été un peu survolé pendant la conférence de Steve Jobs, la vraie grande annonce de cette WWDC a été Snow Leopard. N’importe qui parmi les développeurs vous dira qu’à un moment ou à un autre vous devez faire une pause et retravailler votre code. Pour quelque chose d’aussi important qu’un système d’exploitation, c’est un travail particulièrement lourd sans avantages évidents pour les utilisateurs […] Snow Leopard est un investissement réalisé auprès des développeurs et de fait un investissement sur la plateforme elle-même.

Mike Lee, Tapulous (ancien de chez Delicious)

21 June 2008 Apple

LLVM : Le futur compilateur d’Apple ?

Tous les projets d’Apple ne sont pas secrets, après l’utilisation de SproutCore dans les galeries .Mac, AppleInsider nous présente ici LLVM (Low Level Virtual Machine) et l’utilisation qu’en fait Apple. Il s’agit par exemple :

  • De l’histoire entre Apple et LLVM
  • De l’utilisation conjointement à GCC et des gains possibles de performance par rapport à GCC seul
  • De l’utilisation des fonctions de compilation JIT dans la pile OpenGL de Léopard
  • Et surtout pour finir de son avenir certainement conjointement avec OpenCL.

Pour découvrir tout ça, vous pouvez lire l’article Apple’s other open secret: the LLVM Complier

18 June 2008 Cocoa

SproutCore, le framework javascript qui s’inspire de Cocoa

Un nouveau framework Javascript est en train de faire beaucoup de bruit dans la communauté Mac, il s’agit de SproutCore. Il s’inspire de Cocoa et permet réellement de concevoir des applications web comme si l’on utilisait les classes Cocoa. En gros, d’après mes premières recherches dans la documentation, ça me semble assez proche de GWT (Google Web Toolkit) dans le sens où l’on décrit l’interface et que le framework semble s’occuper du reste.

Pour aller plus loin, il est intéressant de regarder :

Je vais regarder ça plus en détail car ça pourra certainement me servir dans un projet actuel. Enfin si j’ai le temps ;(