Créer un mode maintenance sur WordPress

Lors d’une mise à jour de plugins WordPress ou même du CMS complet, une ligne apparaît stipulant le passage du site en mode maintenance et une autre à la fin stipulant la sortie. Qu’est ce que ce mode maintenance ?

Le mode maintenance est un mode durant lequel le site indique être inaccessible pour cause de maintenance. Ceci permet, lors d’une mise à jour, d’éviter tout bug dû à du trafic et d’indiquer aux visiteurs que des travaux sont en cours sur le site au lieu de risquer d’afficher des messages d’erreurs.

Pour des travaux plus longs comme une adaptation de template, l’installation d’un nouveau plugin lourd, un ré-agencement des articles, … , il peut être intéressant de passer soit même le site en mode maintenance.

Pour ce faire, rien de plus simple, il suffit de créer un fichier .maintenance à la racine du site dans lequel on mettra le code :

<?php $upgrading = time(); ?>

La page de maintenance est personnalisable. Il suffit, en plus du fichier .maintenance précédemment ajouté, de créer un fichier maintenance.php dans le dossier wp-content, présent à la racine de site, qui contiendra le contenu à afficher en cas de présence du fichier .maintenance

Pour les personnes frileuses des modifications à la main, comme d’habitude avec WordPress, il existe des plugins comme Maintenance, Ultimate maintenance mode ou Maintenance Mode Notify qui proposent différentes options et réglages.

Enfin, il arrive, après une mise à jour d’un plugin ou de WordPress, que WordPress reste bloqué en mode maintenance. Pour corriger le problème, rien de plus simple, il suffit de supprimer le fichier .maintenance à la racine du site pour retrouver son site comme avant.

Récupérer l’UUID d’un matériel

L’UUID est un identifiant unique qui permet de différencier deux matériels l’un de l’autre. Ceci est très utile lorsque, par exemple, on souhaite monter un disque ou une partition au démarrage de l’ordinateur. Au lieu de préciser le nom du périphérique sous la forme /dev/sdx ou /dev/hdx, qui est susceptible de changer, on précise son UUID et il deviendra impossible de se tromper (au sens statistique du terme)

J’avais déjà parlé de blkid qui s’utilise en root et qui permet de récupérer les UUID des partitions présentes sur l’ordinateur. Il existe aussi sous Linux la commande uuidgen qui permet de faire plus ou moins la même chose mais avec tout type de matériel. De plus, blkid est lié au paquet e2fsprogs et donc potentiellement pas présent sur toutes les distributions.

Plus qu’à modifier son fstab en fonction de cet UUID pour toujours monter le bon disque ou la bonne partition.

Désinstaller NetBeans

EDIT : Les dernières version de NetBeans ont l’air de s’installer par défaut dans /home/<USERNAME>/netbeans-<version>

Sous Windows, il n’est rien de plus simple que de désinstaller un logiciel « classique ». Un coup de Panneaux de Configuration -> Désinstaller un programme, sélectionner et hop, le dés-installateur correspondant se charge de la suite. Sous Linux, pour tous les programmes qui ont été installé, soit à partir des sources, soit d’un installateur externe, mais en tout cas sans passer par les différentes logithèques ou gestionnaires de paquets, il faut trouver la procédure de désinstallation propre à chacun.

Pour NetBeans, rien de bien compliqué mais il faut encore trouver l’emplacement du script de désinstallation. Rien de plus simple, ce dernier est :

/usr/local/netbeans-<version>/uninstall.sh

Et hop, il ne reste plus qu’à installer la version suivante.

Utiliser Compiz sous Linux Mint

ATTENTION : Ceci était valable pour Linux Mint 14 Nadia mais n’est plus fonctionnel sous Linux Mint 15 Olivia. Pour cela, se reporter au nouvel article

Le plus gros avantage que Linux apporte au niveau graphisme est Compiz. Les effets graphiques qu’il apporte sont plus sublimes les uns que les autres et rien que la transparence sur la console est un effet qui a autant d’utilité qu’il est jolie.

Cependant, pour mettre en place compiz sous Linux Mint, il ne suffit pas d’installer le compiz-settings-manager comme sous Ubuntu, il faut le configurer pour qu’il se lance au démarrage et le configurer pour remplacer Marco.

Dans l’ordre, les étapes sont donc :

  • Installer le paquet compizconfig-settings-manager
  • Aller dans le menu Système -> Préférences -> Applications au démarrage et créer un nouveau champs Compiz qui lancera la commande compiz –replace
  • Lancer l’éditeur de configuration depuis le menu Logiciels -> Outils système -> Editeur de configuration ou en tapant mateconf-editor dans un terminal
  • Remplacer la clé /desktop/mate/session/required_components/windowmanager qui contient la valeur marco par compiz
  • Configurer son compiz comme souhaité à l’aide du Gestionnaire de configuration CompizConfig qui se trouve dans le menu Système -> Préférences (S’il n’apparaît pas, installer le paquet compizconfig-settings-manager). De base, aucune décoration de fenêtre n’est présente et il n’est pas non plus possible de bouger les fenêtres

Après un redémarrage, compiz sera actif à l’ouverture de la session et vous pourrez afficher tous les effets que vous désirez.

Petites remarques :

  • Le nombre de bureaux pris en compte par compiz se règle dans le Gestionnaire de configuration, dans les Options Générales puis dans l’onglet Taille du bureau. Ce nombre ne correspond pas à ce qu’il est possible de régler dans le sélecteur d’espaces de travail.
  • Le minimum qu’il me semble nécessaire d’activer pour les fenêtres est :
    • Dans Windows Management :
      • Déplacer la fenêtre
      • Placer des fenêtres
      • Redimensionner la fenêtre
    • Dans Effects :
      • Décoration de la fenêtre

Le reste n’est plus qu’une question de goût. Amusez vous la quantité d’effets est extrêmement importante. De plus, si elle ne l’est pas assez selon vous, vous pouvez installer tous les paquets de type compiz-plugins*.

Changer la langue de Thunderbird

Certaines distributions Linux comme Linux Mint ont déjà Thunderbird d’installé de base. Malheureusement, même en choisissant la langue de la distribution comme le français par défaut lors de l’installation du système d’exploitation, l’application de messagerie reste en anglais.

Il existe plusieurs manières de régler le problème. La première est de supprimer tout le logiciel, de re-télécharger le package correspondant sur le site officiel et de l’installer. On ajoute ainsi les packages de langue directement en même temps.

La deuxième solution, la plus simple, est d’installer les packages de langue directement depuis les dépôts de la distribution grâce à la commande :

sudo apt-get install thunderbird-locale-<langue>

soit pour le français :

sudo apt-get install thunderbird-locale-fr

Et voilà un logiciel de messagerie dans la langue de son choix en un instant. Pour avoir la correction orthographique dans la langue de son choix maintenant, passer par le menu Edition -> Préférences, onglet Rédaction -> Orthographe et cliquez sur Télécharger d’autres dictionnaires.

Subversion, problème de Working Copy

Subversion, bien qu’aujourd’hui de plus en plus délaissé pour Git, est un gestionnaire de version particulièrement efficace.

Cependant, de temps en temps, surtout avec des projets récupérés après quelques temps de mise de côté, Subversion n’arrive plus à mettre à jour la version locale du code en prétextant une erreur de Working Copy.

Le plus simple pour résoudre cette erreur est de supprimer purement et simplement les fichiers/dossiers .svn présent dans les sources du projet et de reconfigurer son dépôts pour aller récupérer le nouveau code.

Ceci n’est à utiliser qu’en dernier recours cependant si vous ne voulez pas perdre vos historiques locaux ou si vous ne voulez pas que risquer d’écraser du code que vous n’auriez pas encore commit.

Gestion des droits utilisateurs WordPress

WordPress joui d’un système de droits assez fin et bien pensé. En effet, un certain nombre de profils d’utilisateurs existent déjà avec des possibilités différentes et il est aisé de jongler entre eux pour donner l’autorisation de réaliser un certain nombre de tâches, et en empêcher d’autres, à chaque compte.

Cependant, il n’est pas facile de modifier ces droits de base ou de créer de nouveau profils correspondant à un rôle précis attribué à un utilisateur. Comme nous sommes sur WordPress, un plugin existe pour résoudre ce facétieux problème. En l’occurrence, il s’agit de Capability Manager Enhanced.

Celui ci permet non seulement de créer de nouveaux profils totalement personnalisés en plus des 5 existants mais permet aussi de modifier très finement les droits accordés à chaque catégorie. On peut ainsi imaginer créer un groupe qui a le droit d’ajouter du contenu dans les médias téléchargés mais jamais d’en enlever. On peut aussi penser à un designer qu’on autorise à modifier l’intégralité du thème du site sans jamais pouvoir modifier les articles ou gérer des utilisateurs.

Un plugin pratique, selon les besoins, même si de manière générale, pour une utilisation de type blog conventionnelle, les profils Abonné, Administrateur, Auteur, ContributeurÉditeur sont largement suffisants.

Activer son pavé numérique au démarrage

Lors d’une installation sur un ordinateur portable, les différentes distributions linux n’activent que rarement le pavé numérique de base. C’est un gros point négatif mais il n’existe pas de simple case à cocher ou de modification dans l’éditeur de configuration pour l’activer.

Par exemple, sous Windows, il suffit de lancer l’éditeur de registre (regedit.exe) et de modifier la clé HKEY_CURRENT_USER\Control Panel\Keyboard\InitialKeyboardIndicators et de remplacer la valeur de base par :

  • 2 pour l’activer en permanence
  • 0 pour le désactiver en permanence

Sous linux, seul le répertoire du fichier à modifier peut changer. Il faut commencer par installer numlockx par votre méthode préférée puis modifier le fichier /etc/X11/gdm/Init/Default ou /etc/mdm/Init/Default selon votre gestionnaire de fenêtre pour ajouter les lignes

if [ -x /usr/bin/numlockx ]; then
    exec /usr/bin/numlockx on
fi

Et voilà, un pavé numérique activé dès le départ pour ne plus avoir à appuyer sur une touche de plus lors de la saisie de votre mot de passe.

Taille maximum d’un String

Dans la continuité des découverte faites avec Hook, une question qui s’était posée était la taille maximum que pouvait atteindre un String en Java, Par extension, j’ai cherché la réponse dans plusieurs langages.

Deux choses peuvent limiter la taille d’un String :

  • La taille de la pile attribuée (Heap Size) (Surtout lorsque l’on passe dans une machine virtuelle)
  • La taille maximum que peut prendre un tableau soit, en Java, Integer.MAX_VALUE. Ceci correspond à 2 147 483 647 caractères soit 2^31 -1 caractères ou la taille de stockage d’un int.

La gestion des String étant la même dans presque tous les langages, on peut considérer cette limite valide dans la majeur partie des cas.

Les détails viennent d’ici : http://blog.lecharpentier.org/2012/06/27/java.lang.string-limits/

Résoudre le « R cannot be resolved »

Sous Eclipse, lors de développements Android, un problème que j’ai rencontré assez souvent est l’erreur « R cannot be resolved« .

Ceci est souvent dû à une mauvaise importation de classe au début du code où au lieu d’importer la classe R générée dans le package du projet, l’IDE essaye d’importer la classe android.R

Pour corriger ça, il suffit de changer l’import android.R en supprimant la ligne correspondante puis en organisant les imports à l’aide du raccourcis Ctrl + Shift + o

Si impatiemment vous aviez supprimé R en vous disant qu’il allait le re-générer  c’est en relançant le projet qu’Eclipse devrait s’en charger.