Créer une documentation au format HTML

08 10 2008 In: Logiciel

Il n'est pas toujours facile de maintenir la documentation d'un projet de développement, voici donc quelques outils en Python pour publier des documentations au format HTML :

  • Helpify, un script Python de The Omni Group qui permet de convertir un fichier au format OmniOutliner vers le format d'aide d'Apple (qui est en HTML).
  • Sphinx, une projet qui prend de plus en plus d'ampleur dans le monde Python (Python, Django, etc.) et qui permet de convertir des fichiers reStructuredText (une syntaxe proche de celle de Trac) vers de l'HTML et du LaTex (et donc du PS/PDF).

Mise à jour d'applications

30 09 2008 In: Cocoa, Logiciel

Jusqu'à maintenant, quant l'on voulait mettre en place un système de mise à jour de son application, il existait Sparkle. Google vient de publier un logiciel similaire nommé Update Engine (Plus d'infos sur le blog Google).

La question que l'on se pose alors est pourquoi utiliser Update Engine si Sparkle fonctionne très bien. Sur le groupe de discussion Update Engine, Greg Miller nous répond :

  • Update Engine est de plus bas niveau que Sparkle, et il permet de mettre à jour des applications appartenant à root ou des modules kernel.
  • Update Engine permet de gérer plusieurs applications (un peu comme le système de mise à jour de Mac OS X).
  • Par contre, il semple plus complexe à mettre en place que Sparkle dans les cas simples.

Si quelqu'un à l'occasion de tester, ses remarques sont les bienvenues. Et pour en savoir plus sur l'integration dans une application, voici un petit screencast.

Retours d'un développeur indépendant

27 08 2008 In: Liens, Logiciel

Justin Williams est développeur Mac indépendant depuis fin avril et il nous livre sur son blog un retour d'expérience sur ces quelques mois : Carpeaqua - I’ve officially been indie since the end of April....

Il en ressort les points suivant :

  • Les chiffres des ventes sont comme la première ligne de cocaine
  • Livrer tôt et livrer souvent
  • Vous avez assez de problème sans vous en créer de nouveaux
  • La publicité est difficile et coûte chère
  • La localisation craint
  • Pensez à combien vous pouvez vendre votre application et ajouter 5$
  • Apprenez à dire non à vos clients

Lorsque l'on commence un projet, il n'est pas toujours facile de faire comprendre aux autres intervenants comment l'on imagine l'interface. La solution est donc de créer un prototype de l'interface utilisateur (mockup en anglais). Pour créer ces prototypes, il existe plusieurs solutions :

Voici quelques liens pour comprendre l'évolution du système de fichiers de Mac OS X, de comprendre les FSEvent (évenements du système de fichier) et de les suivre :

  • Mac OS X 10.5 Leopard: FSEvents, une partie de l'article sur Leopard de Ars Technica. Il revient en particulier sur l'évolution du système de fichier de Mac OS X, l'inspiration venant de BeOS et pour finir les FSEvents.
  • fseventer, un utilitaire pour suivre les événements de type FSEvents. Il permet donc de suivre les fichiers modifiés, supprimés, etc.
  • File System Events Programming Guide, le guide d'Apple sur les FSEvents.

TextMate sous Stéroïde : ProjectPlus

13 08 2008 In: Logiciel

Si vous avez envie d'améliorer grandement votre TextMate, courrez installer ProjectPlus. Il s'agit d'une compilation de plugins de Ciarán Walsh qui permet d'ajouter pleins de bonnes choses dont :

  • Des badges sur les fichiers pour savoir si les fichiers ont été modifé, etc. (Support de Subversion et Git)
  • Le gestionnaire de fichier est inclus dans la fenêtre de TexteMate.
  • Possibilité d'assigner des labels de couleur à des fichiers.
  • L'état de l'arbre des fichiers du projet est sauvegardé entre deux sessions
  • Possibilité de changer l'ordre d'affichage des fichiers et dossiers avec surtout la possibilité d'afficher les dossiers en premier.
  • Et quelques autres petites choses.

Plus d'informations :

OpenGL 3 et synergie avec OpenCL

13 08 2008 In: Logiciel

La spécification OpenGL 3 vient d'être mise en ligne par le groupe Khronos (le groupe responsable de OpenGL, OpenCL, etc...). Il définit un certain nombre de nouveautés pour les développeurs d'applications 3D. Et même si ne ne comprends pas la plupart des évolutions, un point important de ce communiqué est le rapprochement des groupes de travail de OpenGL et OpenCL, un des points importants du futur Snow Leopard. Tout cela promet des optimisations vraiment sympathique.

Des idées d'applications iPhone

18 07 2008 In: iPhone / iPod Touch, Logiciel

Dans l'article iPhone Apps I'd Totally Buy, Merlin Mann de 43 Folders propose quelques idées d'applications qu'il voudrait bien trouver sur l'AppStore.

Personnellement, je suis vraiment fan de l'idée d'application permettant de scanner un code barre et de permettre d'acheter le produit scanné sur Amazon. En ce qui me concerne, j'aime bien connaitre le prix d'un produit chez Amazon, vu qu'il est souvent moins chère et que je finis par acheter chez eux. Mais ce qui me semble complexe dans cette application c'est le scanner de code barre en lui même. Le reste c'est de la manipulation de l'API Amazon et un peu de présentation et d'ergonomie. Si seulement j'avais plus de temps, ça serait vraiment une application que j'aimerais bien développé.

Amélioration des préférences par l'exemple

08 07 2008 In: Design, Logiciel

Dans la suite du billet Un exemple de gestion des préférences, voici les différentes étapes de l'amélioration des préférences du logiciel CPU History de Christopher Bowns :

Gestion de version : Mercurial

25 06 2008 In: Logiciel

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.