Archives pour la catégorie Memo

Memorandum: note des choses dont on veut se souvenir, carnet contenant ces notes.

WordPress et bbclone

BBCLONE est un outil de statistique web, un compteur mais en mieux.

Pour son intégration dans WordPress c’est ultra simple. Si votre répertoire bbclone est au même niveau que votre page index.php de wordpress ajoutez les quatres lignes suivantes juste avant le ?> final

define('_BBC_PAGE_NAME', $_SERVER['REQUEST_URI']);
define('_BBCLONE_DIR', 'bbclone/');
define('COUNTER', _BBCLONE_DIR . 'mark_page.php');
if (is_readable(COUNTER)) include_once(COUNTER);

Ceci fonctionne parfaitement avec mon installation à base de nginx. Le note ici car j’en ai un peu marre de perdre ce bout de code à chaque mise à jour de wordpress

Gestion de configuration VS Déploiement de code

Les différences entre un outil de gestion de configuration et un outil de déploiement de code qui rendre leur distinction nécessaire.
  • La gestion de configuration est continue, permanente, à intervalle régulier
  • Le déploiement est ponctuel, à la demande et à intervalle irrégulier
  • La gestion de configuration est automatique chaque machine va chercher elle même les mises jours éventuel
  • Le déploiement est manuel. L’utilisateur pousse les changements et les applique
  • La gestion de configuration est idempotente et l’application d’une configuration a le même effet qu’on l’applique une ou plusieurs fois, en la réappliquant on ne modifiera pas le serveur
  • Le déploiement n’est pas idempotent, chaque application remplace la précédente même si c’est la même, réinitialise les caches, recompile des données, a un impacte pour le client (internaute) etc..
  • La gestion de configuration implique une vérification de la conformité de serveurs à une recette, par eux même et l’exécution éventuel de tache de mise à jour toujours en automatique.
  • Le déploiement implique un ensemble de taches systématiquement exécuté et lancé en parallèle sur des groupes de machines assignées à des rôles.
  • La gestion de configuration implique la gestion des ressources (d’une partie au moins) en local du serveur de configuration (fichier, template, paquet, adresse de dépot etc..)
  • Le déploiement n’implique pas des gestion en ressources en local du serveur de déploiement mais l’appel de ressource externe préparé en amont ; git, svn, dépôt, s3, torrent etc..
  • La gestion de configuration n’utilise pas de notion de Rollback principalement car elle s’applique à une entité physique (serveur, instance) qui ne peux jamais revenir à un état antérieur.
  • Le déploiement comporte la notion de Rollback lié à l’aspect logique du code versionné, qui peux revenir à un état antérieur exacte et parfait

Comment activer les outils de développeur web dans safari 4

Comment activé les outils de développeur web dans safari 4 ? Simplement en tapant la ligne suivante dans un teminal puis stopper et relancer Safari.

defaults <span style="color: #c20cb9; font-weight: bold;">write</span> com.apple.Safari IncludeDebugMenu <span style="color: #000000;">1</span>

Vous disposerez par la suite d’une entré « Développement » dans la barre d’outil.

Qmail – Suppression de messages – une solution a coup de rm, j’aime bien rm

Suppression de messages en queue de qmail.

Les commandes suivantes peuvent supprimer tous les courriels de votre serveur de messagerie qmail qui se trouvent en queue.

qmailctl stop <span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>qmail<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>mess -<span style="color: #7a0874; font-weight: bold;">type</span> f -<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; <span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>qmail<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>info -<span style="color: #7a0874; font-weight: bold;">type</span> f -<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; <span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>qmail<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">local</span> -<span style="color: #7a0874; font-weight: bold;">type</span> f -<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; <span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>qmail<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>intd -<span style="color: #7a0874; font-weight: bold;">type</span> f -<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; <span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>qmail<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>todo -<span style="color: #7a0874; font-weight: bold;">type</span> f -<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; <span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>qmail<span style="color: #000000; font-weight: bold;">/</span>queue<span style="color: #000000; font-weight: bold;">/</span>remote -<span style="color: #7a0874; font-weight: bold;">type</span> f -<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span><span style="color: #7a0874; font-weight: bold;">&#125;</span> \; qmailctl start

Testé et approuvé pour supprimer les 45k emails d’erreur envoyer par une tache cron. Rappel pour développeur en herbe, on place l’envoie du mail d’erreur sur le test de connexion DB pas à l’exécution de la routine de traitement de chaque enregistrement !! Vous risquez de perdre plusieurs point d’audition en très peu de temps.