Tous les articles par Fabien

Remplacer la batterie d’un MacBook Pro 2010

Il y a quelques jours, la batterie de mon MacBook Pro a complètement cessée de fonctionner. Cela faisait déjà plus de 6 mois qu’elle était à l’agonie avec une capacité autour de 1% mais Mac OS X continuait à la détectée et m’affichait simplement « A remplacer » sur l’icône « batterie ».

Bizarrement, sans batterie, j’ai remarqué que l’ordinateur devenait assez instable et lent. Il y a quelques années, quand j’ai acheté un Macbook blanc, je sais que Mac OS X réduisait la fréquence d’horloge du processeur lorsque la batterie n’était pas présente. Je n’ai pas pu vérifier si c’était toujours là mais cela pourrait expliquer la lenteur constatée…

Je me suis donc décidé à remplacer ma batterie. Après un rapide passage sur la boutique en ligne d’iFixit, j’avais trouvé une batterie de remplacement et le tournevis en « Y » nécessaire pour démonter le Mac. Commandé un dimanche, le colis était expédié le lendemain et réceptionné deux jours après. C’est du rapide, très rapide même chez iFixit !

Dans sa version mi-2010, le MacBook Pro reste encore facilement démontable. Résultat, le remplacement de la batterie prend à peine 5 minutes. Première étape, il faut enlever les 10 vis cruciforme sous le mac. Une fois le plaque en aluminium enlevée, il reste à dévisser les 3 vis de la batterie avec un tournevis en « Y » puis débrancher le connecteur. On peut alors placer la nouvelle batterie puis remonter l’ensemble en faisant le chemin inverse. Deux conseils au passage : 1) pour le démontage, poser votre ordinateur sur une serviette de bain pour éviter de griffer la coque, 2) avant de tout remonter, profitez-en pour dépoussiérer les deux ventilateurs, ça ne pourra faire que du bien au mac.

Voilà, en moins de 5 minutes, le MacBook Pro est « comme neuf » et prêt pour une seconde vie avec sa nouvelle batterie !

Colis ifixit Macbook Pro coque inférieure Macbook Pro démonté mbp_batterie_4

Installer et utiliser NodeJS et le module Less sur Mac OS X

Connaissez-vous LESS ? Il s’agit d’une sur-couche de CSS apportant son lot d’améliorations pour faciliter l’écriture de feuille de styles. LESS vous permettra par exemple de définir des fonctions ou des variables que vous pourrez utiliser dans vos règles CSS. Pour en savoir plus, n’hésitez pas à consulter le site officiel de LESS.

Pour utiliser LESS sur vos sites internet, vous devez « convertir » vos fichiers LESS en CSS afin que les styles soient interprétés par les navigateurs web. Le site officiel propose deux solutions, soit réaliser la conversion côté client avec le navigateur, soit côté serveur avec nodejs. La 1ère solution rend votre site web dépendant l’activation de Javascript par le visiteur, ce qui n’est pas une très bonne idée. J’ai donc choisi la solution « serveur »…

Installation de NodeJS et LESS

Nous allons voir ici comment installer NodeJS et le module less sur Mac OS X 10.6 (et 10.7) avec MacPort. L’installation de MacPort devra préalablement être réalisée.

  1. Commencez par installer NodeJS avec MacPort en utilisant la commande suivante :
    port install nodejs
  2. Installez maintenant NPM avec la commande ci-dessous. NPM est un gestionnaire de packages/modules pour Node permettant de facilité l’installation de modules.
    sudo port install npm
  3. Une fois l’installation de NPM terminée, procédons à l’installation du module LESS pour NodeJS. A noter la présence du « -g » dans la commande afin de précéder à une installation globale (pour tous les utilisateurs)
    sudo npm install less -g
  4. Vous avez terminé l’installation de NodeJS, NPM et LESS

Utilisation

Écrivez un fichier less. Vous pouvez prendre un exemple du site officiel par exemple.

lessc styles.less

Conclusion

Voilà, vous êtes maintenant fin prêt pour l’utilisation de LESS dans vos projets web. Je vous recommande de faire un tour sur GitHub où vous trouverez des fichiers LESS pour facilité l’utilisation CSS3 sur les principaux navigateurs.

Personnellement, j’utilise LESS depuis presque 1 an et c’est un réel plaisir d’écrire des styles CSS avec un tel outil. Essayez-le !

Installer Apache 2, MySQL 5 et PHP 5.3 sur Mac OS 10.7 Lion avec MacPort

Bien que Apache et PHP soient pré-installés sur Mac OS X, j’évite depuis plusieurs années de les utiliser. Au départ pour un problème de compilation d’une extension PHP, aujourd’hui pour ne plus être dépendant d’Apple dans la mise à jour de ces logiciels.

J’utilise donc MacPort, un excellent gestionnaire de packages pour Mac OS X, qui permet de compiler et d’installer toutes sortes de logiciels open-source bien utiles.

La sortie récente de Mac OS X Lion, la nouvelle version du système d’exploitation d’Apple pour ordinateur, a été l’occasion de ré-installer complétement mon environnement LAMP…

Je vous propose ici un guide sur l’installation et la configuration d’Apache, MySQL et PHP avec MacPort…
Continue la lecture

Utiliser l’extension Taggable de Doctrine avec Symfony 1.3/1.4

Jusqu’à symfony 1.2, si vous vouliez ajouter facilement de nouvelles fonctionnalités au framework PHP5 il fallait se diriger vers son importante base de plugins. Avec symfony 1.3 et 1.4, bien sûr vous pouvez toujours compter sur les plugins symfony mais viennent maintenant s’ajouter les extensions pour Doctrine

Si vous utilisez Doctrine comme Object Relational Mapper (ORM), vous connaissez certainement les behaviours Timestampable, Sluggable ou encore SoftDelete. Les extensions Doctrine vous permettent justement d’en ajouter de nouveaux très facilement, en quelques clics ou lignes de commande.

Aujourd’hui, je vous propose d’installer et d’utiliser l’extension Taggable. Cette dernière permet d’ajouter des tags sur les modèles de votre choix. L’intérêt peut être de faire des recommandations ou retrouver des éléments relatifs à un autre.

Continue la lecture

Critique du livre « Symfony 1.3 Web Application Development »

symfony 1.3 bookIl y a quelques semaines, l’éditeur PacktPublishing m’a proposé d’écrire une critique de son livre fraichement sorti intitulé « Symfony 1.3 Web Application Development » et écrit par Tim Bowler et Wojciech Bancer. Comme son nom l’indique, le livre est consacré au framework PHP5 en vogue en ce moment, j’ai nommé symfony…

« Symfony 1.3 Web Application Development » compte un peu plus de 200 pages que je viens tout juste de terminer. Alors, convaincu ou déçu ? Voici mon avis…

Continue la lecture

Traduire complètement l’admin generator de Symfony

Si vous avez déjà essayé de traduire l’admin generator de Symfony vous avez probablement été confronté au problème : certaines chaînes ne peuvent pas être traduites car elles n’utilisent pas le système d’internationalisation (i18n) du framework. Ces chaînes sont présentes directement dans les widgets dédiés aux formulaires de filtrage. C’est le cas de is empty, yes or no ou encore de from [...] to [...].

En faisant une recherche rapide sur Internet, vous trouverez quelques solutions mais elles nécessitent de modifier tous les formulaires du projet. Sur un petit projet, 2-3 formulaires, cela peut être acceptable mais avec une soixantaine de formulaires cela peut vite devenir embêtant.
Continue la lecture

Symfony : Gérer un formulaire dans un composant

Dans un projet Symfony, comment gérer la validation d’un formulaire lorsqu’il est dans un composant ? C’est la question que l’on m’a posé cette semaine la semaine dernière (le temps passe vite…).

Tout d’abord, qu’est-ce qu’un composant dans Symfony ? Il s’agit en quelque sorte d’une action qui est réutilisable entre les différents modules de l’application. A la différence des « partials », qui sont « que » des templates, les composants contiennent de la logique : le plus souvent, récupérer un ou plusieurs modèles.

Pour revenir à la question, le problème n’est pas de gérer la validation à proprement parler, Symfony va s’en occuper grâce au forms framework mais plutôt de savoir où envoyer le visiteur une fois le formulaire soumis et comment, à la fin, le rediriger sur la page initiale, celle où il a rempli le formulaire.

Continue la lecture

Symfony : Utiliser un fichier de config personnalisé

Lorsque l’on développe un projet, on a (presque?) toujours un certain nombre de paramètres propres à ce dernier. Cela peut-être le nom du site internet, la clé d’accès à un WebService ou encore la taille des miniatures à générer. De façon générale, il s’agit de tous ces paramètres communs à la fois au frontend et au backend du projet.

Tout bon développeur qui se respecte, je ne laisserai pas ce genre de paramètre perdu dans la logique métier. Tout d’abord parce que ça n’a absolument rien à faire là et ensuite parce qu’il ne serait pas facile de modifier le paramètre plus tard. Une bonne pratique est donc de créer un fichier à part pour stocker ces paramètres…

Continue la lecture