Catégorie : linux

Apache 2.4 : mod_rewrite et RewriteLog et httpd.conf : du changement

RewriteLog n’existe plus

Vous avez la description ici.

RewriteLog n’existe plus ; il faut mettre LogLevel et ensuite tracer le debug dans le errorlog via la commande :
tail -f error_log|fgrep '[rewrite:'

Mes anciens logs ressemblaient à ceci :
RewriteLog "/web/logs/bonnapizza.rewrite.log"
RewriteLogLevel 9

Maintenant ils sont tous ainsi :
LogLevel alert rewrite:trace2

Email de la Mozilla Foundation

Pour information, lettre de la présidente de l’association Mozilla.

Chers fans de Firefox,

Depuis le tout début, Mozilla a été créée pour être un mouvement, pas une entreprise.

Nous avons toujours considéré que les gens devaient avoir le contrôle de leur vie en ligne, plutôt que d’être maintenus dans l’ignorance. Nous voulons que les outils que nous construisons — comme Firefox — respectent les utilisateurs et leur sécurité et protègent leur vie privée.

C’est pourquoi j’ai choisi de faire de Mozilla une fondation à but non lucratif. Créer un Web ouvert et accessible est plus important que de maximiser les profits des actionnaires.

L’idée de faire passer les gens avant les profits est une conviction forte. Il y a des milliers de bénévoles et d’employés Mozilla dans le monde, et ils croient profondément en notre mission et nos valeurs. Ensemble, nous construisons un Internet qui place l’intérêt public avant les profits.

Mais nous ne pouvons pas réaliser cet important travail sans le soutien de personnes comme vous. Nous ne vous enverrons aucun autre courriel cette année pour solliciter des dons qui soutiendront notre travail. Faites votre don en ligne dès maintenant.

Une partie d’Internet sera toujours construite par de grandes entreprises. C’est une bonne chose. Ce moteur économique apporte beaucoup de compétences, d’énergie et de ressources, mais ce n’est pas suffisant.

Nous devons également construire le Web dont le monde a besoin — un Internet où les gens passent avant tout. Que ce soit rentable ou non, c’est ce qu’il faut faire.

Ce que nous avons accompli jusqu’ici a été possible grâce à des dizaines de milliers de contributeurs du monde entier qui ont rejoint et soutenu Mozilla. Savoir que tant de personnes partagent notre vision et notre engagement envers les utilisateurs nous rend plus humbles, mais cela nous donne aussi beaucoup de force. Nous aimerions vous compter parmi les nôtres.

Je vous envoie un seul courriel de levée de fonds de fin d’année pour Mozilla. Cela signifie que vous avez une seule occasion de faire un don pour soutenir notre important travail.

Le cœur de Mozilla est une communauté mondiale qui partage la même mission. C’est ce qui nous donne notre énergie. C’est ce qui nous donne de l’impact. C’est ce qui fait toute notre différence : des gens comme vous nous aident à construire l’Internet dont le monde a besoin.

Bien cordialement,

Mitchell

Mitchell Baker
Présidente
Mozilla

Vim: comment remplacer tous les mots par celui sous le curseur?

Je n’ai pas été bien loin, vous trouverez la version anglaise ici.

:%s/mot/<c-r><c-a>/g

Remplacer chaque occurrence de ‘mot’ avec le mot sous le curseur (le mot est délimité par des espaces ou des retours à la ligne).

<c-r><c-a> signifie qu’il faut appuyer sur Ctrl et R puis sur Ctrl et A.

Le mot sous le curseur sera automatiquement inséré dans la ligne de commande exactement comme il apparaît à l’écran.

Le côté génial, c’est que vous pouvez enregistrer cela dans une macro et il se souviendra du principe !

Exemple concret : j’ai une centaine de partenaires auquels je dois appliquer la même opération SQL. Voilà comment je me suis servi de la fonctionnalité :

  • J’ai mis toute la liste des partenaires dans un fichier, un partenaire par ligne ;
  • J’ai crée une seule fois, pour le partenaire 1, la série de commandes SQL ;
  • Ensuite, j’ai copié collé une centaine de fois cette même série pour tous les partenaires (sous vim: « chiffre+@a » et il joue chiffre fois la macro « a », donc ça ne m’a pris que le temps de taper une dizaine de touches) ;
  • J’ai enregistré la macro suivante, que je vous explique en français : «sélectionne la série de commande courante, monte d’une ligne pour aller sur le nom du partenaire courant, et remplace toutes les occurences de «partenaire1» par le mot sous le curseur.

Ensuite, une fois la macro enregistrée, j’ai tapé « 100@a » = jouer 100 fois la macro « a ».

Et voilà.

Beaucoup de temps de gagné !

Linux, MySQL, utf8 : requêtes et queries : comment éviter le décalage du résultat

Peut être avez-vous déjà rencontré ce problème : vous faites toute une base de données en utf-8.

En suivant les recommandations ici, c’est facile. Le seul problème, et ils ne donnent pas de solution, c’est que lorsqu’on fait les requêtes, les résultats sont bien renvoyés en utf-8 mais il y a un décalage s’il y a des accents :

Image qui montre un décalage de résultat d'une requête mysql en ligne de commande

Comment faire pour éviter ce décalage ? Facile. La solution ici.

En fait dans votre fichier de configuration, il faut aussi configurer le client, pas uniquement le serveur.

Il faut ajouter la directive « default-character-set = utf8 » dans le fichier de configuration :

sudo vim /etc/mysql/my.cnf

[client]
port    = 3306
socket    = /var/run/mysqld/mysqld.sock
default-character-set = utf8

Et puis relancer le service :

sudo service mysql restart

Et voici le résultat : tout est rentré dans l’ordre :

Image qui montre le problème résolu de décalage de résultat d'une requête mysql en ligne de commande

Gimp et Python-fu script : vecteurs et strokes : exemple

J’ai eu énormément de mal à trouver un exemple de script python-fu qui fonctionne.

Après avoir réussi à automatiser certaines tâches grâce à Gimp, je voulais créer des vecteurs, et y appliquer la brosse en cours.

Voici l’exemple de code qui fonctionne :


  new_image = pdb.gimp_image_new( new_image_width, new_image_height, RGB )
  new_layer = pdb.gimp_layer_new(
    new_image, new_image.width, new_image.height,
    RGBA_IMAGE, _("Background"), 100, NORMAL_MODE)
  pdb.gimp_image_add_layer(new_image, new_layer, -1)
  pdb.gimp_drawable_fill(new_layer, fill_type )
  new_layer = gimp.Layer(
    new_image, _("New Layer"),
    new_image.width, new_image.height,
    RGBA_IMAGE, 100, NORMAL_MODE)
  pdb.gimp_image_add_layer(new_image, new_layer, -1)
  pdb.gimp_drawable_fill(new_layer, fill_type )

  new_vectors=pdb.gimp_vectors_new(new_image, 'Vectors!')
  t = int(round(step / 1.5))
  pdb.gimp_vectors_stroke_new_from_points(
    new_vectors,
    0, # 0 = Beziers Curve
    30,
    # {controle1} {centre} {controle2}
  [ x-(step-t), y, x-step, y, x-(step-t), y,
      x, y+(step-t), x, y+step, x, y+(step-t),
      x+(step-t), y, x+step, y, x+(step-t), y,
      x, y-(step-t), x, y-step, x, y-(step-t),
      x-(step-t), y, x-step, y, x-(step-t), y],
      False) # Closed = True

  pdb.gimp_image_add_vectors(new_image, new_vectors, 0)

  pdb.gimp_context_set_foreground( (255,255,255) )
  pdb.gimp_context_set_brush( "Circle (07)" )
  pdb.gimp_edit_stroke_vectors(new_layer, new_vectors)

  gimp.Display( new_image )

Maintenant avec cet exemple, si vous voulez faire des vecteurs et les dessiner avec la brosse en cours, ainsi qu’avec mon article sur l’automatisation de Gimp, vous devriez arriver à faire beaucoup de choses !

Vi / vim : comment remplacer des espaces par des espaces insécables (&nbsp;)

Tout est dans le titre.

J’ai souvent ce problème : je fais copier coller de code dans un article WordPress que je veux publier, je mets le code entre <code></code> mais le problème, c’est que les espaces de début sont ignorés et l’indentation est perdue.

Voici donc l’astuce, sous vi, pour remplacer tous les espaces uniquement au début de la ligne par &nbsp;.

C’est à dire que :

     extend: 'Ext.panel.Panel',

devient :


extend: 'Ext.panel.Panel',

Ce que je ne veux pas bien évidemment.

J’ai posé la question ici : vim-regexp-help-change-spaces-to-nbsp.

Et je vous laisse y lire les réponses, mais la solution que j’ai retenue :


:%s/^ \+/\=repeat("&nbsp;",strlen(submatch(0)))

Site des vimgolfers : http://vimgolf.com/.

Coloration syntaxique : vim, HTML et Smarty la solution

J’avais un problème que vous avez peut-être rencontré : la couleur des fichiers HTML quand il y a du Smarty, ça ne fonctionne pas parfois.

Alors j’ai récupéré le truc qui met les bonnes couleurs ici :

www.vim.org/scripts/script.php?script_id=1798

Mais seul problème : ça ne fonctionne qu’avec les fichier *.TPL
Donc j’ai fait une demande sur stackoverflow : comment ouvrir un fichier HTML, et vérifier s’il y a dedans "{* *}" et si c’est le cas, appliquer la couleur Smarty.

Répondu ici :
vim-how-to-apply-a-new-syntax-highlighting-smarty-instead-of-html-depending

Et maintenant, j’ai enfin tous les fichiers HTML qui s’affichent correctement. Je vous conseille vivement d’en faire autant, franchement ça m’aide bien que les "{* *}" soient enfin des commentaires et que les {foreach ...} soient bien colorisés.

Trop pratique !