Catégorie « Quelques trucs sur… »

Quelques trucs sur l’iPod Touch/iPhone #3

Ne plus ouvrir iPhoto lorsque l'iPhone est branché

Par défaut quand vous branchez un iPhone sur un Mac, il ouvre automatiquement iPhoto (l'iPhone étant reconnu comme un appareil photo). Pour désactiver ça, rendez-vous dans les préférences d'iPhoto et modifiez la valeur de l'option "Le fait de connecter l'appareil photo ouvre :" en sélectionnant "aucune application".

Verrouiller la touche majuscules

Sur un ordinateur, la touche permettant de verrouiller le clavier en mode majuscules est souvent assez inutile (on peut facilement utiliser un second doigt pour activer la majuscule), voire gênante : on l'enclenche plus souvent par erreur que volontairement... mais sur un iPhone, ça permet d'éviter de re-cliquer sur majuscule à chaque frappe quand on tape un mot en majuscule (sigle ou autre).

Pour cela il faut que dans les préférences (Réglages > Général > Clavier), vous activiez l'option plutôt mal nommée "Maj. verrouillées". Mal nommée parce que tout ce qu'elle active c'est le fait de pouvoir double-cliquer sur la touche de majuscule pour la bloquer (elle devient alors bleue)... Donc elle active le mode permettant de bloquer en majuscules et non le mode majuscules lui-même.

Voir la source

Cette petite astuce trouvée ici consiste à ajouter un signet dont la cible est en réalité un code JavaScript qui affichera la source de la page.

La méthode est simple :

  1. copiez ce code JavaScript, que je reprends ici au cas où le site en question cesserait d'émettre :
        javascript:(function(){var d=window.open("about:blank"),a=d.document;a.write("<!DOCTYPE html><html><head><title>Loading Source</title></head><body></body></html>");a.close();var b=a.body.appendChild(a.createElement("form"));b.setAttribute("method","post");b.setAttribute("action","http://ole.michelsen.dk/viewsource/?uri="+location.href);var c=b.appendChild(a.createElement("input"));c.setAttribute("type","hidden");c.setAttribute("name","DOM");c.setAttribute("value",encodeURIComponent(document.documentElement.innerHTML));b.submit()})()
        
  2. ajoutez un signet bidon nommé "Voir la source" (ou toute autre dénomination qui vous plaira)
  3. éditez le signet précédemment créé et collez ce code à la place de l'URL

Il vous suffit maintenant pour voir le code source d'un lancer le signet.


Quelques trucs sur Windows #1

Clavier azerty reconnu comme un querty

Par moment, Windows commence à se comporter bizarrement : on écrit de q au lieu des a, les mots de passe ne sont plus reconnus, tout ça... Rien d'ésotérique là dedans, la reconnaissance du clavier a juste switché en qwerty...

Comment ça s'est produit ? En général, c'est que vous avez sans vous en rendre compte, tapé le raccourci clavier alt (gauche) + shift (gauche). Je ne sais pas pourquoi un tel raccourci est défini dans Windows, mais c'est comme ça. Donc pour revenir à la normale, il suffit d'utiliser ce raccourci.

Pour que cela ne se reproduise plus, il est aussi possible de désinstaller le clavier anglais au niveau de Windows.

Sous XP, ça se trouve dans le panneau de configuration : Démarrer > Paramètre > Panneau de configuration > Options régionales et linguistiques > langues > détails cliquer sur anglais et supprimer (au besoin, on peut le rajouter quand on veut avec le même menu).

Sous Seven c'est presque pareil, mais pas tout à fait : Démarrer > Panneau de configuration > Horloges, langue et région > Modifier les claviers et les autres méthodes d'entrée > Modifier les claviers... > sélectionner l'anglais et supprimer.

Faire une capture d'écran de la fenêtre courante sous Windows XP/Seven

Sur mac, on a pas mal de possibilités pour faire une capture d'écran, mais ce que je ne savais pas, c'est que sur Windows aussi on dispose de plusieurs raccourcis différents.

En effet, si toute seule la bien connue touche Impr écran capture tout l'écran, combinée avec la touche alt, elle ne capture que la fenêtre courante. Ça peut éviter de re-découper la capture après, donc c'est bon à savoir ^^

Sinon Seven est également livré avec un outil de capture d'écran où on sélectionne la zone à capturer. Il est accessible depuis le menu démarrer > Tous les programmes > Accessoires > Outil Capture.

Oui, j'essaie de purger un peu les brouillons qui trainent... celui-là avait quand même presque trois ans ^^


Quelques trucs sur UNIX/Linux #2

Ré-écriture d'URL avec Apache

Les règles de ré-écriture peuvent se placer soit dans le .htaccess, soit dans httpd.conf (ou dans les fichiers dédiés à chaque vhost). Il y a une subtile différence de syntaxe entre les deux cas : dans le cas du httpd.conf, URL relatives présentes dans les expressions rationnelles doivent être précédées d'un / et pas dans le cas du .htaccess.

Exemples :

.htaccess

RewriteCond %{HTTP_HOST} www.example.com
RewriteRule ^toto.html$ http://example.com/youpi.html$1 [R=301,L]

httpd.conf

RewriteCond %{HTTP_HOST} www.example.com
RewriteRule ^/toto.html$ http://example.com/youpi.tml$1 [R=301,L]

Résultat suivant dans la recherche dans l'historique de commandes

Lorsqu'on recherche dans l'historique via ctrl+r, taper à nouveau ctrl+r permet de passer au résultat suivant.

Déterminer la taille d'un dossier

Pour déterminer la taille d'un dossier on peut utiliser du, notamment avec les options :

  • h (human readable) : pour avoir un résultat lisible (type "1,7G") plutôt qu'un nombre d'octets
  • s : pour ne pas détailler tous les sous-dossiers

Exemples :

> du -hs .
2,7G     .
> du -hs ./*
8,0K     ./changeRepo.sh
2,7G     ./instances

Quelques trucs sur PHP #3

Auto-complétion du code avec PDT

PDT est un IDE pour PHP basé sur Eclipse relativement performant. Notamment il permet l'auto-complétion de code, ce qu'on n'a que rarement avec des éditeurs plus légers.

Sous certaines conditions (notamment avec le plugin SVN), l'auto-complétion n'est pas activée par défaut. Il y a peut-être moyen de le régler dans le labyrinthe qui sert de système d'options à Eclipse mais sinon, un moyen simple reste d'ajouter la ligne suivante dans la section natures du fichier .project du projet :

<nature>org.eclipse.php.core.PHPNature</nature>

Flux RSS et format de date

Pour formater une date en vue de générer un flux RSS, il y a plusieurs méthodes :

  1. chercher le détail du format sur le net et l'appliquer... c'est possible, mais risque d'erreur.
  2. utiliser le format ‘r’ qui renvoie le bon format.
  3. utiliser la constante DateTime::RFC822... sauf que là le flux ne sera pas forcément valide et qu'il y aura potentiellement des problèmes avec certains agrégateurs.

Préférez donc la seconde solution, celle-là en principe elle marche (et en bonus, c'est la plus compacte, que demander de plus ?).

Méthodes privées en PHP 5.1.6

Le principe d'une méthode privée, c'est d'être interne à la classe et aucunement visible ou surchargeable depuis une classe qui l'étend (contrairement à une méthode protégée). Cependant, dans certaines versions de PHP, dont la 5.1.6 (je ne sais pas quand exactement il a été corrigé mais il n'est plus présent dans les dernières 5.2.x), permet de surcharger les méthodes privées d'une classe... Ça peut arriver involontairement et ne prête pas à conséquence, sauf quand par la suite vous tentez d'exécuter votre script sur une version corrigée de PHP et là c'est pas évident de comprendre pourquoi tout d'un coup on ne passe plus dans la surcharge !

L'angoisse de la page blanche #2

J'évoquais ici le fait qu'on risquait une page blanche sans autre forme de procès en déclarant deux fois une même méthode dans une même classe et en voici un autre : déclarer comme abstraite une méthode d'une interface.

C'est peut-être une déformation due au fait qu'on me l'a présenté comme ça lors de mes premiers cours de programmation objet Java mais pour moi une interface, c'est pousser à l'extrême le concept de la classe abstraite : toutes les méthodes sont abstraites (et on n'a pas de champs). En Java, il me semble bien me souvenir que dans le cas d'une interface, le mot-clé abstract sur une méthode est facultatif (vu que de toutes façons toutes les méthodes d'une interface le sont). Eh bien en PHP il n'est pas facultatif mais interdit. Sinon, page blanche (du moins sous certaines versions/configurations) et bon courage pour retrouver l'erreur \o/


Quelques trucs sur Mac OS #1

Comment saisir certains caractères ?

Certains caractères sont bien compliqués à saisir sur un mac et notamment pas forcément visibles sur le clavier (de mon macbook pro en tous cas, pour les autres j'en sais rien). Or quand on fait de développement, c'est caractères sont très souvent utiles :

  • ~ (la tilde) : alt + N
  • { (l'accolade ouvrante) : alt + (
  • } (l'accolade fermante) : alt + )
  • [ (le crochet ouvrante) : alt + shift + (
  • ] (le crochet fermante) : alt + shift + )
  • \ (le backslash ou antislash) : alt + shift + /
  • | (la barre) : alt + shift + L

Faire une capture d'écran

Je ne sais pas si par hasard les iMac ont une touche équivalente à "Impr. écran" qu'on trouve sur PC, mais en tout cas ce n'est pas le cas du MacBook pro. Leopard permet de capturer soit tout l'écran (cmd + maj + 3), soit une sélection (cmd + maj + 4), soit une fenêtre (cmd + maj + 4 puis espace). Dans tous les cas la capture sera automatiquement enregistré en PNG sur le bureau.

Forcer l'éjection du CD depuis un terminal

Après insertion, mon CD n'apparaissait pas dans l'interface (ni dans iTunes, ni dans le finder). Une courte recherche sur Google m'a sorti une panoplie de solutions possibles, la plus simple (et qui a marché dans mon cas) était de forcer l'éjection depuis le terminal via la commande drutil eject.