Ecrire des tests unitaires en C++ avec Xcode

Il y a quelques jours, à l’Université, dans le cadre du TP de « Flots de Multiflots dans les Réseaux », j’ai dû stocker et manipuler des graphes en implémentant les algorithmes de Dikjstra, de Bellman-Ford, de Johnson, de Floyd-Warshall afin d’obtenir un plus court chemin.

Les graphes c’est sympa mais je m’en méfie toujours, peut-être parce qu’en licence 3 j’ai dû perdre quelques cheveux lorsque j’ai coder 2-3 algorithmes, relativement simples par rapport à ceux cités avant, sur les graphes. Cette année pour ne pas me faire avoir, j’ai décidé d’utiliser des tests unitaires afin vérifier mon code. C’était en plus une bonne occasion pour découvrir un framework de tests en C++

Continuer la lecture de « Ecrire des tests unitaires en C++ avec Xcode »

Installer Apache, MySQL et PHP sur Mac OS 10.5 avec MacPorts

Suite la récente mésaventure que j’ai eu avec mon MacBook, j’ai dû ré-installer un environnement AMP sur mon ordinateur. L’occasion pour moi d’écrire ce billet et de présenter un outil génial pour Mac…

J’en ai déjà parlé, la version de PHP fournie avec Mac OS X Leopard est assez… épurée : pas de GD ou de PEAR par exemple et la compilation d’extensions ne marchent pas (cf. mon billet sur Runkit). Pour une utilisation (très?) basique de PHP cela suffira mais si vous voulez, par exemple, manipuler des images il faudra utiliser une autre solution…

Continuer la lecture de « Installer Apache, MySQL et PHP sur Mac OS 10.5 avec MacPorts »

TimeMachine, you saved my files

Jeudi, sans crier gare, mon MacBook a décidé de ne plus démarrer. L’écran de démarrage restait bloqué sur le logo d’Apple avec une roue de chargement qui tourne à l’infinie.

Ma première réaction a été de mettre le dvd d’installation de Mac OS X et de lancer une vérification du disque. Mauvaise surprise, il y a une erreur et l’utilitaire de disque n’arrive pas à la réparer. N’ayant pas plus d’information sur l’erreur, je redémarre mon MacBook en mode « console » et re-tente une vérification/réparation du disque cette fois avec la commande fsck. Ça échoue encore mais j’obtiens le nom de l’erreur : « Invalid sibling link ». Avec un autre ordinateur, je regarde sur Internet si une solution est possible. Apparemment, d’autres personnes ont déjà eu le problème et ont réussi à réparer le disque avec la commande fsck_hfs -r /dev/disk0s2 (où disk0s2 est l’identifiant de la partition). Je lance (plusieurs fois) la commande mais rien n’y fait, le formatage est inévitable…

C’est dans ce genre de situation où je suis bien content d’avoir activé TimeMachine, l’outil de sauvegardes de Mac OS 10.5. Le disque ne pouvant plus être monté, il m’était impossible de récupérer mes données via un autre ordinateur (avec le mode target) ou de ré-installer Leopard  avec l’option « Archiver et Installer » qui, comme son nom l’indique, archive l’ancien système avant d’en installer un nouveau. La seule solution, à ma connaissance, était donc d’avoir fait une sauvegarde lorsque le système était encore opérationnel.

Moralité de l’histoire, TimeMachine ça peut vous sauver la vie vos fichiers !

La documentation de symfony enfin en PDF !

C’est la bonne nouvelle de la semaine, la documentation de symfony est maintenant disponible au format pdf ! Je ne sais pas si il y avait une forte demande pour pouvoir la télécharger mais en ce qui me concerne ça toujours était un point gênant.

J’ai pris l’habitude de toujours télécharger la documentation des outils que j’utilise. L’intérêt ? La consulter même lorsque je n’ai pas de connexion Internet ou lorsque le serveur qui l’héberge est momentanément indisponible.

Voilà, maintenant je n’aurai plus besoin de récupérer les sources de la documentation sur le SVN de symfony, j’ai de jolis PDF :-)

FancyUpload et Flash 10

Il y a quelques jours, j’ai un peu bêtement mise à jour Adobe Flash Player, juste pour voir un site complètement en Flash. Aujourd’hui, je le regrette bien car il m’est maintenant impossible de faire une mise à jour de la galerie photos de mon site. Pourquoi ? Je ne sais pour quelle raison, Flash 10 casse tous les systèmes d’upload multiple qui utilise cette technologie. Mon site est bien sûr concerné puisqu’il utilise, dans la partie back-office, Fancy Upload.

Un petit tour sur le site officiel du projet et je m’aperçois qu’un correctif est disponible. Tout content, je me prépare à mettre à jour mon site sauf que… j’utilise encore Mootools 1.1 et que le correctif fonctionne avec Mootools 1.2. :( Je serai bien passé à cette nouvelle mouture de mon framework javascript préféré mais les changements au niveau de l’API sont trop importantes et m’oblige à revoir tous les fichiers js de mon site. Il ne me reste alors plus qu’une solution, downgrader Flash Player…

Pas facile de passer de Flash 10 à Flash 9. Il faut désinstaller la version actuelle mais surtout trouver l’installer pour l’ancienne version. Ça c’est le plus dur car le site officiel d’Adobe ne propose que la dernière version, à savoir la 10e. Bon après quelques recherches, j’ai réussi à retrouver la version 9 sur le site de clubic. Pour ceux que ça intéresse voici la procédure pour downgrader Flash Player de la version 10 à la version 9 :

  • Télécharger le désinstaller sur le site d’Adobe : http://www.adobe.com/support/flashplayer/downloads.html#uninstaller
  • Télécharger Flash Player 9 : http://www.clubic.com/telecharger-fiche21294-flash-player.html
  • Quitter tous les navigateurs
  • Lancer le désinstaller et suivre les instructions.
  • Exécuter l’installer de Flash Player 9.

Bon ce n’est que solution provisoire en attendant de pouvoir mettre à jour mon site. Cela me permet ainsi de continuer à le mettre à jour tout en préparant la nouvelle version :)

ForkLift, un client FTP pour Mac

Depuis que j’ai acheté un Mac, c’est-à-dire en 2006, j’utilisais CyberDuck comme client FTP. C’est, à priori, le seul client FTP gratuit et open source pour Mac. Son utilisation me semblait assez facile et il disposait de toutes les fonctionnalités dont j’avais besoin. Je n’étais pas très exigeant puisque je voulais juste pouvoir déposer des fichiers sur un FTP. Déjà à l’époque, je me souviens qu’il plantait de temps en temps, au début, d’après le développeur, c’était dû aux machines Intel. Au fil des versions, les plantages et bugs se sont montrés de plus en plus nombreux. Je ne parle même pas de la consommation mémoire et du temps d’exécution devenus insupportable. Au final, je m’étais résigné à utiliser un WebFTP…

Heureusement, en août, j’ai découvert ForkLift. Au début, j’ai pris la version d’évaluation de 15 jours. Quel bonheur ce logiciel ! Très fluide, aucun plantage et plein des fonctionnalités très intéressantes. Il permet par exemple de créer une archive d’un FTP complet. Bon, c’est un peu long pour un FTP volumineux mais c’est très utile quand on n’a pas d’accès SSH sur le serveur. Il est également possible de faire du transfert serveur à serveur, très sympa pour faire une copie complète d’un FTP vers une autre machine.

J’ai fini par acheter ForkLift en août dernier et depuis je suis toujours aussi content de mon achat :-) Petit bémol, le cache du logiciel est trop puissant, du coup on ne voit pas les éléments ajoutés par un autre logiciel. Heureusement, on peut désactiver le cache dans les paramètres…

Site officiel de ForkLift

Mes premiers pas avec symfony

Voilà maintenant quelques jours que j’ai commencé à utiliser le framework symfony… J’avais déjà testé dans le passé deux autres frameworks, à savoir Ruby On Rails et Zend Framework. Ils ne m’avaient pas vraiment convaincu en terme de rapidité de développement. Je précise toutefois que je les avais utilisé à leur début, les choses se sont sûrement améliorées mais j’avais très envie de tester symfony :-)

Continuer la lecture de « Mes premiers pas avec symfony »

Compiler et installer l’extension Runkit pour PHP sur Mac OS X

Je parlais récemment sur ce blog de mon besoin de l’extension Runkit afin de supprimer une constante en PHP. Après plusieurs heures a essayer de compiler l’extension sur mon MacBook, j’avais finalement abandonné temporairement.

Ayant remplacé le binaire php par celui de Marc Liyanage, j’ai essayé de nouveau de compiler de Runkit sur mon MacBook et là, oh surprise, ça fonctionne :D Pour les intéressés, je vous mets la démarche ci-dessous.

Continuer la lecture de « Compiler et installer l’extension Runkit pour PHP sur Mac OS X »