Pomme | Mac powered!

Aller au contenu | Aller au menu | Aller à la recherche

vendredi, juin 19 2009

Changement de moteur

De retour sous Dotclear. Le temps d'exécution de Wordpress sur un serveur Gandi Hébergement d'une part est vraiment trop important. Jusqu'à 6 secondes parfois pour générer une malheureuse page.

Todo :

  • changer le thème
  • ajouter des pages statiques
  • écrire des articles

jeudi, mars 19 2009

Accélérer le démarrage de Leopard

Si comme moi, vous utilisez un logiciel de virtualisation type VMWare Fusion ou Parallels Desktop, vous avez intérêt à lire ce qui suit pour accélérer le temps de démarrage de votre Mac.

En effet ces logiciels, pour assurer la communication entre la machine virtuelle et l'hôte, créent des cartes réseaux virtuelles lors du démarrage. On perd ainsi 10 à 20 secondes pour un logiciel qu'on ne va pas forcément utiliser. La logique voudrait que ces processus d'initialisation soient uniquement lancés au démarrage du logiciel.

Il y a sans doute eu un choix de VMWare de privilégier une vitesse de lancement du logiciel accrue en contrepartie d'un temps de boot plus long. Pour corriger tout ça : en passant par le Finder ou par le Terminal, se rendre dans le dossier /Library/LaunchDaemons et supprimer toute trace de fichier portant le nom de VMWare ou Parallels. Cela nécessite des droits administrateurs. (Une sauvegarde est conseillée si vous n'êtes pas sur de ce que vous faites.)

D'autres dossiers peuvent contenir des fichiers analogues :

  • /Library/LaunchAgents
  • /Library/StartupItems
  • ~/Library/LaunchAgents

Ne supprimez pas les fichiers liés à des programmes que vous ne connaissez pas, ils sont parfois nécessaires au système. Il reste un problème à régler : lors du lancement d'une machine virtuelle sous VMWare Fusion, un message vous indique que

VMWare Fusion ne peut pas se connecter à la machine virtuelle

VMWare - Services désactivés

Il faut lancer les services désactivés pour pouvoir utiliser la machine virtuelle.

Un petit alias dans .bashrc et le tour est joué.

alias vm="sudo /Library/Application\ Support/VMWare\ Fusion/boot.sh --start"

Il suffit de lancer un Terminal, d'y lancer la commande vm de saisir son mot de passe et Fusion est de nouveau fonctionnel.

dimanche, février 22 2009

Bash CGI

Introduction

Lorsqu'on veut dynamiser un peu un site web, ou faire un traitement complexe, on pense toujours à PHP ou aux JSP. Mais il suffit parfois de mettre en oeuvre ses compétences en scripting et utiliser les CGI pour atteindre son but.

Les CGI ont mauvaise réputation en matière de sécurité, ce n'est pas toujours justifié. Il faut juste vérifier ce que le client transmet au serveur, comme on le ferait en PHP.

Serveur

Un serveur web est nécessaire pour exécuter le script CGI. Des configurations sont généralement à prévoir pour activer cette fonctionnalité. La plupart des serveurs possèdent un dossier cgi-bin à la racine. Il suffit de mettre son script dedans et d'y faire appel.

Si on veut plus de personnalisation, il est possible de permettre l'exécution des scripts CGI dans un répertoire particulier. Voici un exemple de mon fichier de configuration personnel sous Mac OS X.

Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all

Bon, c'est très permissif, ne surtout pas utiliser une configuration pareille en production, vous risquerez d'avoir des problèmes.

Script

Voici donc un script en Bash permettant de fournir une réponse à la demande du serveur. Pour émettre des données, il est nécessaire de commencer par ces deux lignes.

La seconde ligne vide est indispensable et symbolise le début de la communication. Ça fait partie de la RFC1945.

#!/bin/bash
echo "Content-type: text/html"
echo ""

Si on veut traiter des paramètres à la manière des variables $_GET et $_POST en PHP, il faut utiliser la variable $QUERY_STRING. Pour séparer les arguments de cette chaîne de caractères on utilise les outils classiques. Ici sed nous permet de récupérer dans la variable CMD tout le contenu de la variable niv

#!/bin/bash
CMD=`echo "$QUERY_STRING" | sed -n 's/^.*niv=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"`
echo "Content-type: text/html"
echo ""
echo $CMD

jeudi, février 12 2009

InsomniaX - Ne plus subir la mise en veille

Qui n'a jamais révé de pouvoir fermer le capôt de son MacBook sans que celui-ci se mette en veille ?

Que ce soit pour écouter de la musique portable fermé, ou brancher un écran externe et utiliser uniquement celui-ci, il y a un manque au niveau du réglage de la mise en veille des MacBooks.

Il existe pourtant un logiciel, InsomniaX, qui permet de configurer à souhait la façon dont réagi le Mac lorsque l'on ferme son capôt. Bien que le développement soit un peu ancien, il fonctionne sous Leopard sans problème.

Menu InsomniaX

Quant aux risques de surchauffe, sachez que dans la notice d'utilisation du MacBook, il écrit que celui-ci peut fonctionner capôt fermé sans problème.

dimanche, février 8 2009

Réduire taille PDF sous Mac OS X

Lorsque l'on regarde les stats d'un site web, on est toujours surpris par les recherches qui amènent les visiteurs sur un site donné.

Ce blog n'échappe pas à la règle. J'ai un maximum de hits sur un vieux post expliquant comment réduire la taille d'un fichier PDF à l'aide d'Apercu.app de Mac OS.

Ne voulant pas casser l'entrain de visiteurs pressés par la tâche ingrate de la compression de fichier, je vous livre dans une nouvelle version les 3 étapes simplissimes de cette action.

  • Ouvrir son fichier avec Aperçu.app
  • A l'aide du menu Fichier, sélectionner l'item Enregistrer-Sous
  • Dans le dialogue d'enregistrement séléctionner comme filtre Quartz : "Reduce File Size"

Aperçu.app

Aperçu.app Enregistrer-sous

Aperçu.app Filtre Quartz