Archive for the ‘Mac’ Category

Programme en mode console avec Qt Creator

Thursday, February 4th, 2010

Lorsqu’on souhaite développer une application en mode console avec Qt Creator (1.3.1) qui soit multi-plateforme Mac et Windows, il y a quelques problèmes à régler.

Comme exemple, nous allons essayer de faire fonctionner correctement le petit programme suivant :

#include <iostream>

int main() {
   std::cout << "Quel est ton nom : ";
   std::string Nom;
   std::cin >> Nom;
   std::cout << "Salut " << Nom << " !\n";
   return 0;
}

Mac OS X

ur Mac OS X, avec la configuration par défaut, la sortie standard est dirigée sur l’onglet Sortie de l'application de Qt Creator. Cela pose néanmoins un problème de taille : cet onglet ne gère pas l’entrée standard. Notre programme simple ne fonctionnera donc pas.

Pour résoudre ce problème, il faut forcer l’exécution de notre programme dans un terminal.

Pour ce faire, il faut modifier les paramètres d’exécution du projet. Afficher les détails et cocher la case Exécuter dans un terminal.

Malheureusement, cette façon de faire amène encore un petit problème à résoudre.
Sur Mac OS X, c’est un terminal XTerm qui sera utilisé, mais dans la configuration standard de Qt Creator, l’application XTerm n’est pas trouvable. Il faut en fait préciser le chemin complet de l’application.

Ouvrir les préférences de Qt Creator et aller dans la configuration Environnement : Général.

Dans la zone Terminal, indiquer le chemin complet :

/usr/x11/bin/xterm -e

Windows

Sur Windows, la configuration par défaut démarre une fenêtre de commande, dans laquelle s’affiche la sortie standard. L’entrée standard est correctement gérée.

Par contre, il subsiste deux problèmes :

  • Lorsque le programme est terminé, la fenêtre de commande disparaît immédiatement, ce qui empêche de voir la sortie finale du programme.
  • Si l’on souhaite déboguer notre programme, la fenêtre de commande n’est plus ouverte et la sortie standard s’affiche dans l’onglet Sortie de l'application de Qt Creator. L’entrée standard n’est pas gérée.

Pour résoudre ces problèmes, il faut forcer l’exécution de notre programme dans un terminal.

Pour ce faire, il faut modifier les paramètres d’exécution du projet. Afficher les détails et cocher la case Exécuter dans un terminal.

Les deux

Notre programme fonctionne maintenant correctement, aussi bien en ce qui concerne la sortie standard que l’entrée standard. Le déboguage se fait également au travers du terminal.

Reste le problème des accents concernant la phrase automatique Appuyez sur ENTRÉE pour fermer cette fenêtre.

Pour se débarrasser de ces caractères cabalistiques, la solution la plus simple est de démarrer Qt Creator en anglais.

Qt Creator en anglais

Wednesday, February 3rd, 2010

Mise à jour avril 2010 :

La technology preview de Qt Creator 2.0 montre qu’il est maintenant possible de changer la langue de l’interface depuis les préférences de l’application, en allant dans la section Environnement : Général des options.

Fin de la mise à jour.

Depuis la version 1.3.0, Qt Creator a été localisé dans plusieurs langues, en particulier le français. Dès lors, Qt Creator utilise automatiquement la langue du système d’exploitation.

Malheureusement, il n’y a aucun réglages au sein de l’application permettant de choisir une autre langue. Il peut en effet être très pratique dans certaines situations de démarrer Qt Creator 1.3.1 en anglais.

La solution diffère selon le système d’exploitation.

Mac OS X

La seule solution que j’ai trouvé avec Mac OS X pour forcer Qt Creator d’utiliser l’anglais est de l’empêcher de trouver le fichier de traductions du français. Pour ce faire, il faut sélectionner l’application Qt Creator, afficher le menu contextuel et choisir Afficher le contenu du paquet.

Lorsque le contenu est affiché, aller dans le répertoire Contents/Resources/translations/. Localiser le fichier qtcreator_fr.qm et le renommer (par exemple en _qtcreator_fr.qm).

Lors du prochain démarrage de Qt Creator, celui-ci ne trouvera pas le fichier de traductions pour le français (la langue du système d’exploitation) et se rabattra sur l’anglais.

Windows

Sous Windows, le plus simple est de définir la variable d’environnement LANG, que Qt Creator utilise en priorité (avant la langue du système d’exploitation) pour déterminer la langue de démarrage.

Pour ajouter une variable d’environnement, afficher les propriétés du Poste de travail.

Dans l’onglet Avancé, cliquer sur Variables d'environnement.

La liste des variables d’environnement apparaît. Ajouter une nouvelle variable pour l’utilisateur en cours en cliquant sur Nouveau.

Le nom de la variable d’environnement doit être LANG. Comme valeur pour cette variable, mettre en, ce qui signifie que que dorénavant, Qt Creator démarrera en anglais.

Un page sur plusieurs pages

Friday, January 22nd, 2010

Parfois, certains documents (par exemple un fichier PDF) n’ont pas des dimensions A4 et sont donc difficiles à imprimer sur une imprimante classique.

Tiler (http://www.mindcad.com/tiler.html), un petit utilitaire gratuit très pratique développé par Mindcad permet de résoudre ce problème.

Grâce à cet outil, il est possible de répartir les pages d’un document sur plusieurs pages A4. Il est possible de choisir le nombre de pages et leurs dispositions.

Tiler

Une fois la disposition voulue obtenue, il suffit de démarrer l’impression, et la page originale sera imprimée sur plusieurs pages.

À mon sens, son seul défaut (version 2.3.1) est que si le document original possède plusieurs pages, il faut démarrer manuellement une impression pour chaque page originale, ce qui peut se révéler fastidieux.

Réduire la taille d’un PDF dans Aperçu

Friday, January 22nd, 2010

Pour réduire la taille d’un document PDF ouvert avec Aperçu, il est possible d’utiliser le filtre Quartz Reduce File Size lors de la sauvegarde du document.

Preview : Quarz Reduce File Size

Malheureusement, ce filtre détériore, dans certains cas, fortement la résolution des images. De plus, il n’y a aucun contrôle possible sur la qualité finale obtenue.

En cherchant à résoudre ce problème, j’ai trouvé deux solutions très intéressantes.

Ajouter des filtres Quartz existants

Il est possible d’ajouter des filtres Quartz permettant de choisir la résolution des images. Ceux-ci seront alors utilisables dans Aperçu. C’est un dénommé jcolas qui a conçu plusieurs filtres proposant des réglages différents.

Ses filtre sont disponibles au téléchargement à cette adresse : http://idisk.mac.com/jcolas-Public

Mise à jour 14 août 2012 : Manifestement, ces filtres ne sont plus accessibles. N’ayant pas retrouvé leur trace officielle, je me permets de les mettre en téléchargement ici : jcolas_filters

Mise à jour 30 août 2012 : Depuis OS X Lion, l’emplacement des filtres a changé.

Méthode pour Snow Leopard et versions précédentes :

Il suffit de copier ces filtres dans le répertoire Filters de la bibliothèque (pour un utilisateur ou pour tous les utilisateurs). Si le répertoire Filters n’existe pas, il faut le créer. Lors du prochain démarrage d’Aperçu, ces filtres seront disponibles.

Filtres Quartz de jcolas

Méthode pour Lion et Mountain Lion :

Il suffit de copier ces filtres dans le répertoire PDF Services de la bibliothèque (pour un utilisateur ou pour tous les utilisateurs). Attention, depuis OS X Lion, le répertoire Bibliothèque d’un utilisateur n’est pas visible, il faut utiliser le menu Aller->Aller au dossier... du Finder pour y accéder. Lors du prochain démarrage d’Aperçu, ces filtres seront disponibles.

Mise à jour 7 novembre 2012 : Apparemment, il faut impérativement mettre ces filtres dans le répertoire PDF Services des bibliothèques du système (et non pas dans le répertoire Bibliothèque d’un utilisateur).

Pour accéder à ce répertoire, il faut utiliser le menu Aller->Aller au dossier... du Finder, y inscrire /Library puis cliquer sur le bouton Aller.

C’est à cet emplacement que doit se trouver le répertoire PDF Services dans lequel il faut placer les filtres.

Créer ses propres filtres

La solution précédente offre un large choix de compressions possibles. Mais peut-être n’y a -t-il pas le réglage voulu. Il est alors possible de créer ses propres filtres.

Pour cela, utiliser l’utilitaire ColorSync, livré avec Mac OS X. Il est situé dans le répertoire Applications/Utilitaires. Le nom complet du programme est Utilitaire ColorSync.

Une fois démarré, aller dans l’onglet Filtres et ajouter un nouveau filtre au moyen du bouton +. Donner un nom à ce nouveau filtre.

Créer son propre filtre Quartz

Pour définir ce que fait le filtre, cliquer sur la flèche tout à droite du nouveau filtre. Une quantité de réglages sont possibles.

Dans notre cas, nous voulons compresser les images.

Description du filtre

Une fois l’effet désiré ajouté, il est possible de l’ajuster. En l’occurrence, nous souhaitons compresser les images en JPEG. Le curseur permet de régler le niveau de compression.

Ajuster les paramètres du filtre

Mise à jour 17 décembre 2012 : Je ne sais pas si c’est un bug dans Aperçu introduit depuis Lion, mais en tous les cas, les filtres créés avec ColorSync placés dans le répertoire Filters de la bibliothèque de l’utilisateur ne sont pas reconnus par Aperçu. Pour qu’ils le soient, il faut les déplacer ou les copier dans le répertoire PDF Services des bibliothèques du système (voir la procédure ci-dessus).

Ensuite, quitter ColorSync et redémarrer Aperçu. Le filtre que l’on vient de créer est disponible parmi les autres filtres Quartz.

Notre filtre est disponible

Synchronisation du calendrier et du carnet d’adresses

Wednesday, July 8th, 2009

Au sein de la famille, il est souvent utile de pouvoir partager les contacts du carnet d’adresses et certains rendez-vous du calendrier.

En l’occurence, je souhaitais arriver à la situation suivante :

  1. Rendre mon calendrier iCal accessible (au moins en lecture) à ma femme ;
  2. Pouvoir accéder (au moins en lecture) au calendrier de ma femme ;
  3. Pouvoir partager certains événements communs dans le calendrier ;
  4. Partager nos contacts du carnet d’adresses ;
  5. Pouvoir synchroniser ces informations sur nos ordinateurs et iPhones respectifs.

Calendriers partagés avec Google Calendar

La première solution envisagée devait permettre de répondre aux besoins 1, 2 et 3 de la liste ci-dessus. Voici en quoi elle consiste :

  • Créer deux comptes Google distincts, pour moi et pour ma femme ;
  • Créer un calendrier Google pour moi et autoriser ma femme à y accéder en lecture en le partageant :
    SafariÉcranSnapz000
    SafariÉcranSnapz001
  • Créer un calendrier Google pour ma femme et le partager avec moi :
    SafariÉcranSnapz002
  • Gérer ces calendriers depuis iCal :
    • Dans les préférences d’iCal, afficher l’onglet Comptes et ajouter un compte en cliquant sur +.
      iCalÉcranSnapz001
    • Donner un nom au calendrier (Description) et introduire le nom d’utilisateur (adresse du compte Google) et le mot de passe.
    • Afficher les options du serveur en cliquant sur le triangle et introduire l’URL du compte, qui aura la forme suivante : https://www.google.com/calendar/dav/compte_google@gmail.com/user et dans laquelle il faut remplacer compte_google par mon propre compte.
    • Réaliser la même chose pour le calendrier de ma femme, mais cette fois, en remplaçant compte_google par le compte de ma femme.
      iCalÉcranSnapz002

Cette solution permet donc d’avoir un calendrier distinct pour chaque membre de la famille et de donner un accès en lecture aux personnes nécessaires. Lorsqu’un événement concerne plusieurs personnes, il suffit de les inviter (au moment de la création de l’événement) et, si l’invitation est acceptée, l’événement apparaîtra également dans leurs calendriers.

Lorsque l’iPhone est synchronisé par iTunes, les calendriers seront synchronisés également.

Par contre, une limitation de l’iPhone (OS 3.0) rend cette solution peu pratique : il n’est pas possible avec l’iPhone d’ajouter des événements dans les calendriers Google.

La seule solution serait alors d’ajouter l’événement dans le calendrier normal, puis, lors de la synchronisation de l’iPhone et de iCal, déplacer cet événement dans le calendrier Google.

Cette manipulation n’est pas très pratique et j’ai donc opté pour une autre solution.

Synchronisation du calendrier entre plusieurs ordinateurs

La deuxième solution est un peu plus radicale, mais dans mon cas, plus appropriée : il s’agit de synchroniser complètement le calendrier de mon ordinateur avec celui de ma femme. Par la même occasion, le carnet d’adresses sera également synchronisé.

Avec cette solution, plus de calendrier Google propre à chaque individu : tout le monde écrira dans le calendrier iCal, mais dans deux sous-calendriers différents (mais c’est à chacun de respecter cela, car rien ne m’empêche d’ajouter des événements dans le sous-calendrier de ma femme).

La synchronisation sera prise en charge par un petit utilitaire gratuit et fort pratique : fruux.

Sa mise en place est assez simple est bien décrite dans le FAQ.

Préférences SystèmeÉcranSnapz001

Je ne l’utilise que pour synchroniser le carnet d’adresses et le calendrier, mais il fonctionne très bien. Il nécessite bien sûr une connexion à internet, car la synchronisation se fera au travers des serveurs de fruux.

C’est d’ailleurs le principal défaut de cette solution : la protection des données. Fruux semble être digne de confiance, mais il faut bien être conscient que toutes les données du calendrier et des contacts sont transférés par leurs serveurs.

Télécharger une vidéo flash

Tuesday, July 7th, 2009

Il est de plus en plus courant de trouver des vidéos au format flash sur les différentes pages internet que je consulte.

Lorsqu’une de ces vidéos m’intéresse particulièrement, je tiens à la conserver en local, sur mon disque à moi car je crains trop que la page internet qui la diffuse disparaisse un jour.

Pour y arriver, il faut faire appel au logiciel gratuit Flash Video Downloader.

L’utilisation est très simple. Une fois l’application démarrée :

  • Ajouter une nouvelle ligne en cliquant sur le bouton +.
  • Donner un nom au fichier qui sera créé sur le disque local et indiquer l’URL du site contant la vidéo.
    Flash Vide oDownloader
  • Si le site contient une vidéo de publicité (qui ne nous intéresse pas), cocher la colonne Ad.
  • Démarrer le téléchargement en cliquant sur le bouton Begin Downloading.

Lorsque le téléchargement est terminé, nous avons sur notre disque local un fichier au format FLV. Je n’aime pas conserver mes vidéos dans ce format, je préfère les convertir en H.264. Pour ce faire, j’utilise QuickTime Pro.

Malheureusement, dans sa version standard, QuickTime n’est pas capable de lire des fichiers FLV. Mais ce problème est facilement contourné en installant Perian, outil indispensable à tout utilisateur de QuickTime.

MISE À JOUR 25 juin 2012

Une façon nettement plus pratique et qui donne de meilleurs résultats consiste à utiliser DownloadHelper, qui s’installe comme plugin pour Firefox.

Dès qu’une vidéo sur une page web peut être téléchargée, l’icône du plugin s’allume et affiche un menu pour télécharger la vidéo.

Ce plugin fonctionne à merveille avec YouTube par exemple.

Seul défaut : il ne fonctionne malheureusement pas avec les vidéos de la RTS (anciennement TSR).

Mise à jour novembre 2013

Une autre solution qui fonctionne dans de nombreux cas est de passer par le site http://file2hd.com.

Perian, couteau suisse de QuickTime

Wednesday, July 1st, 2009

Perian est un indispensable plugin pour QuickTime. Cerise sur le gâteau : celui-ci est gratuit !

Télécharger Perian

Il permet de lire une quantité de formats vidéo et audio supplémentaires avec QuickTime.

Parmi les plus importants (en ce qui me concerne), je pourrais citer DIVX et FLV.

Sonneries personnalisées pour l’iPhone

Saturday, June 27th, 2009

Lorsqu’on achète des produits Apple, c’est souvent parce que l’on souhaite que tout fonctionne facilement et du premier coup.

Je pensais que, après l’achat d’un iPhone 3Gs, créer des sonneries personnalisées allait être un jeu d’enfant. Déception.

Ordinateur iMac 2,5 Ghz Intel Core 2 Duo
OS OS X 10.5.6
iPhone 3Gs, OS3
iTunes 8.2

Ce que j’aimerais faire

La manipulation à laquelle je m’attendais était la suivante :

  1. Sélectionner dans iTunes le morceau à utiliser pour la sonnerie ;
  2. Menu contextuel : Créer une sonnerie
    iTunesÉcranSnapz000

Mais, contrainte complètement mesquine imposée par Apple à l’utilisateur, cette simple manipulation n’est autorisée qu’avec les morceaux achetés sur l’iTunes Store !

iTunesÉcranSnapz001

La solution

Il y a deux choses à savoir concernant les sonneries : elles doivent être encodées au format AAC et ne peuvent durer plus longtemps que 30 secondes.

La procédure décrite ci-dessous requiert que le format d’encodage soit l’AAC. Pour ce faire, aller dans les préférences de iTunes (menu iTunes : Préférences) et cliquer sur Réglages d'importation dans l’onglet Général.

iTunesÉcranSnapz011

Dans la fenêtre qui s’ouvre, choisir encodeur AAC si ce n’est pas déjà le cas et valider avec OK.

iTunesÉcranSnapz012

Tout est prêt pour commencer notre procédure de création d’une sonnerie :

  1. Choisir le morceau. Il est conseillé de le sélectionner parmi les musiques de la bibliothèque en réduisant la liste affichée au moyen d’un filtre de recherche. Il faudrait éviter de passer par une liste de lecture, car au cours de la procédure, une copie du morceau sera faite et cette copie n’apparaîtra pas forcément dans la liste de lecture et sera donc difficile à retrouver ;
    iTunesÉcranSnapz006
  2. Sélectionner le morceau choisi et choisir Obtenir les informations du menu contextuel.
    iTunesÉcranSnapz002
  3. Dans l’onglet Options, indiquer le moment du début et celui de fin (selon le format minutes:secondes.millisecondes). La durée totale ne doit pas dépasser 30 secondes. Valider avec OK.iTunesÉcranSnapz003
  4. Faire une copie au format AAC du morceau en choisissant Création de la version AAC du menu contextuel.
    iTunesÉcranSnapz004
  5. Une copie du morceau, de même nom mais de durée différente apparaît dans la liste des morceaux.
  6. Afficher le fichier de ce morceau (de durée réduite) dans le Finder en choisissant Afficher dans le Finder du menu contextuel.
    iTunesÉcranSnapz007
  7. L’extension de ce fichier est m4a.
    FinderÉcranSnapz001
    La changer en m4r.
    FinderÉcranSnapz002
  8. Effacer le morceau nouvellement créé de la bibliothèque iTunes (choisir Supprimer dans le menu contextuel), mais sans effacer le fichier (choisir Conserver le fichier).
    iTunesÉcranSnapz013
    iTunesÉcranSnapz008
  9. Retourner dans le Finder pour prendre le fichier qui vient d’être renommé et pour le glisser-déposer dans la bibliothèque iTunes.
    iTunesÉcranSnapz010
  10. Si tout s’est bien passé, le morceau apparaît directement dans la liste des sonneries.
    iTunesÉcranSnapz009

Attention !

Si le nom du fichier correspondant au morceau choisi contient des points (.), celui-ci ne sera pas reconnu comme sonnerie valide. En effet, il semble que pour vérifier si l’extension est correcte (.m4r), iTunes prend tous les caractères qui suivent le premier point apparaissant dans le nom du fichier.

Ainsi, un fichier ayant par exemple le nom ‘01 Les Chants Magnetiques, Pt. 1.m4r‘ ne sera pas reconnu comme sonnerie (aux yeux de iTunes, l’extension du fichier est ‘. 1.m4r‘ et non pas ‘.m4r‘). Le nom du fichier devra être modifié de sorte qu’il n’y ait qu’une seul point, juste avant l’extension. Par exemple, il pourrait être modifié ainsi :

01 Les Chants Magnetiques, Pt 1.m4r

Finalement

Il ne reste plus qu’à synchroniser l’iPhone pour que les nouvelles sonneries soient disponibles sur le téléphone. Elles pourront être sélectionnées dans le menu Réglages des Sons.

iPhone_Menu

iPhone_Reglages

iPhone_Sons

iPhone_Sonnerie