The Troll's factory

Geekeries & pensées
-->

Le No Sarkozy Day [NSD] dirigé par des extrêmistes incultes ?

Et dire que je pensais, après la révision des objectifs du NSD (No Sarkozy Day), qu’enfin quelqu’un de raisonnable et de sérieux avait pris en main le mouvement afin d’en faire quelque-chose d’intéressant, je dois avouer qu’aujourd’hui suite à un échange de mail avec la personne visiblement chargée de la communication, je reviens sur mes impressions !!

Tout commença par un mail…

Le No Sarkozy Day envoit un mail à ceux qui avaient demandé à suivre l’évènement, non seulement il n’y a pas de sujet du mail (=mise en spam pour pas mal d’antispams), ce qui ne donne pas spécialement envie de l’ouvrir, mais voici le texte à l’intérieur :

bonjour nous organisons une nouvelle prospection pour le no sarkozy day  le samedi 13 mars a 14 heure devant l'opera de lyon a hotel de ville (place louis). nous avons besoin de votre soutien .pour toute les personne qui viendrons merci de répondre sur cette adresse afin de savoir qui sera présent .Vous pouvais vous munir de tee shirt no sarkozy day sur le site http://www.no-sarkozy-day.fr/partenaire/sine-hebdo/ en cliquant sur la boutique .merci de votre engagement et votre reponse.mlle deschamps

Bon, voyons voir vite fait ce qu’un internaute qui n’a pourtant pas fait d’étude de communication peut facilement voire comme horribles erreurs dans ce mail :

  1. Où sont les majuscule ?
  2. Où est la ponctuation ?
  3. Où sont les retours lignes / paragraphes ?
  4. Qui êtes-vous ?
  5. Vous avez appris à écrire avant ou après l’école primaire ?
  6. Ah tiens j’ai oublié de le dire : la liste des destinataires est publique (dans le « To »), si j’étais spammeur, je m’inscrirais tout de suite pour récupérer plein de mails valides rapidement !!

Donc pour résumer : un mail bourré de fautes, sans aucune accroche tant au niveau du langage que du visuel (qui a dit mail en HMTL ?), aucune mise en forme (même pas de retours lignes), une grosse daube illisible, sauf pour les kevins qui passent leur journée à ça et qui sont pour cela vraiment plus optimisés que moi.

Allez, on pardonne…

Bon allez, on pardonne, ça se trouve le mail est parti tout seul sans le faire exprès on a cliqué sur le bouton « Envoyer » et hop merde c’est la cata. Puis pour les fautes, on peut être distrait… (m’enfin quand même, vous aurez remarqué le « Vous pouvais » (accent marseillais sans doute ?) ). Puis après tout, ce n’est qu’un mail.

…Ah, ben non, finalement on pardonne pas !

Lorsque les choses deviennent plus sérieuses, c’est quand cette même personne décide de renvoyer une deuxième fois le mail ! Allez, des fois qu’on ait pas pensé à récupérer les e-mails pour les spammer la première fois.

Cette fois il y a un sujet du mail ! Euh… enfin, un mot en fait : « Prospection« . J’ai l’impression de recevoir un mail de la gendarmerie…

Bon, encore loupé pour le sujet, et pire, toutes les fautes sont encore là et le mail n’a pas changé d’un poil.

Bon, allez, je suis sympa, je prends 5 minutes pour leur dire que avant de renvoyer le mail une deuxième fois ça serait bien qu’ils vérifient l’orthographe ! (et encore, je leur parle pas de leur médiocrité de communication).

Et là, c’est le jackpot, en fait la personne qui envoit ces mails est juste une espèce d’extrêmiste inculte puisque voici sa réponse :

desolé mais je vous rapel quand meme qu'on es pas la pour la grammaire.  je supose donc que vous ne voulez pas prospecter avec de mauvais eleves!!!!!

(je n’ai pas modifié l’orthographe et la grammaire des citations !)

Bon, cette fois, je crois que je suis fixé ! J’en profite en même temps pour sortir de mes gonds et lui asséner un petit paragraphe sur le ramolissement du cerveau des jeunes générations et leur orthographe catastrophique. Je n’ai pas dit que l’otrhographe c’était la vie, mais cette personne par contre, elle, fait ici preuve de toutes évidences d’une réflexion très haut placée dans sa réponse à mon mail !

Je n’ai pas encore reçu de réponse… Mais par contre, je vais certainement rayer du calendrier « participation au NSD ». Je n’ai pas spécialement envie de me retrouver entourés de jeunes ahuris menés par un leader irréfléchi comme je pouvais voir ça quand j’étais au lycée (voyez le niveau) avec les fameuses « grèves » de lycéens qui ne savaient même pas pourquoi les profs manifestaient…

À bon entendeur, bonsoir le NSD.

NDA : Si vous trouvez des fautes dans ce billet, pour le coup, moi, ça ne me dérange pas qu’on me le fasse remarquer ! (sauf si vous oubliez de dire où est la faute… !!!)

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Coups de gueule,politique avec aucun commentaire

Configurer ses propres DNS (DNS externes) pour son domaine chez 1&1

Note : Ceci marche évidemment avec n’importe quel domaine, que ce soit un .fr, .com, .coucoucestmoi. Ceci marche avec n’importe quel « type » de domaine 1&1 également : fourni avec un pack hébergement ou pack domaine ou encore autre chose.

Nous allons donc voir aujourd’hui comment configurer des DNS externes (ses propres DNS par exemple) pour son domaine 1&1

La procédure est assez simplissime, aussi je me suis permis de faire un tuto screenshots :

Allez sur le site de 1&1 : en cliquant ici par exemple.

Cliquez en haut à gauche sur le lien « Espace client » :

home page 1and1

home page 1and1

Puis connectez-vous avec votre domaine pour login (sauf si vous connaissez votre identifiant client par coeur, bravo!) et votre mot de passe :

Boîte de connexion espace client 1&1

Boîte de connexion espace client 1&1

Maintenant, cliquez sur cette icône :

icones gestion des domaines

icones gestion des domaines

Sélectionnez le domaine dont vous souhaitez changer les DNS, puis sur « DNS » en haut :

Gestion des domaines

Gestion des domaines

Maintenant cliquez sur « Modifier » :

Cliquer sur modifier

Cliquer sur modifier

Suivez les indications dans l’odre : rentrez votre DNS externe primaire (ici nttserv.fr.nf, mon DNS) puis secondaire (spit.free-h.org le DNS secondaire de mon hébergeur).

Étapes pour rentrer vos DNS

Étapes pour rentrer vos DNS

Voilà c’est terminé, validez tout le bazar et attendez que la MàJ se fasse.

Attention, les MàJ sont non seulement plus ou moins lentes selon les extensions (le .fr par exemple doit attendre la revalidation de l’AFNIC), mais en plus votre FAI peut être lent voire très lent (comme citons Darty, Orange Nord-Pas-de-Calais (DNS de Reims de mémoire), et Numéricâble département 69 (pour ceux que je connais en tout cas) ). Darty étant le pire, jusqu’à 7 jours. Vous pouvez décider de changer les DNS de votre ordinateur si vous en avez marre d’attendre.

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Scripts, astuces, dév. web,Webmastering & Webmarketing avec 1 commentaire

[PHP] Effectuer un is_file() ou file_exists() sur un fichier distant (HTTP)

Dans la lignée de la précédente astuce sur les fichiers distants en voici une autre, plus courte, mais qui pourrait bien en dépanner plus d’un. En effet la fonction is_file() ou encore la fonction file_exists() sont des fonctions faites pour fonctionner sur le système de fichier local. Et elles ne fonctionneront donc pas si vous cherchez à savoir si le fichier « http://web.com/fichier.blabla » existe ou pas.

L’astuce est toute simple, elle consiste à tenter d’ouvrir le fichier, avec une fonction qui elle, prend en charge le HTTP :

function FichierDistantExiste($url) {
   if([email protected]($url, 'r')) return false;
   else return true;
}

Ce fut bref, mais j’espère que cela vous sera utile :)

Attention par contre, sauf erreur de ma part certaines configurations PHP (notamment sur des mutualisés évidemment, mais pas tous hein) empêchent fopen() d’utiliser le HTTP. Dans ce cas, on serait bien tenté d’utiliser la fonction file_get_contents() sauf qu’en fait ce n’est qu’une espèce de raccourci pour les fonction fopen(), fgets() et fclose() les un après les autres. Donc si l’un est bridé l’autre devrait l’être aussi. À vous de tester, on ne sait jamais.

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Scripts, astuces, dév. web avec 7 commentaires

[PHP] Date de dernière modification d’un fichier distant en HTTP

Cette source n’est pas de moi, cependant comme je ne suis pas sûr que tous les gens qui cherchent comment récupérer la date de dernière modification d’un fichier en utilisant le HTTP (fichier distant) arrivent facilement à trouver ce post (en anglais en plus) je vous mets la source ici.

D’ailleurs, au passage, comme je suis un gentil Troll, je vous l’ai traduite :)

// Récupérer la date de dernière modification d'un fichier distant (la fonction retourne un timestamp unix, cf. http://wiki.pcinfo-web.com/timestamp )
function RecupDateModifDistant( $uri )
{
// default
$unixtime = 0;
$fp = fopen( $uri, "r" );
if( !$fp ) {return;}

$MetaData = stream_get_meta_data( $fp );

foreach( $MetaData['wrapper_data'] as $response )
{
// Dans le cas d'une redirection vers une autre page / un autre fichier
if( substr( strtolower($response), 0, 10 ) == 'location: ' )
{
$newUri = substr( $response, 10 );
fclose( $fp );
return RecupDateModifDistant( $newUri );
}
// Dans le cas où on a bien l'en-tête "last-modified"
elseif( substr( strtolower($response), 0, 15 ) == 'last-modified: ' )
{
$unixtime = strtotime( substr($response, 15) );
break;
}
}
fclose( $fp );
return $unixtime;
}

Voilà, pour toute demande d’explication du code, les commentaires sont là pour ça, ils vous attendent pour vous faire des calins ! (gratuit !)

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Non classé,Scripts, astuces, dév. web avec 1 commentaire

Lyon, la ville aux mille bourgeois…et de qualité !

Le mois prochain à Lyon s’organise la Foire de Lyon,un évènement pas tant festif que commercial, mais qui pourrait tout de même faire penser à une bonne sortie en famille ou entre amis, plutôt tourné vers les moins de 50 ans dirons-nous.

Cependant, quand on se balade sur le site Internet de la Foire de Lyon, que voit-on dans le « Bilan 2009 » ? On voit écrit le paragraphe suivant :

Des visiteurs de qualité :
– 62% des visiteurs sont de CSP moyennes et plus (contre 44% sur le Rhône).
– 60% des visiteurs ont une maison individuelle avec un jardin et 65% sont propriétaires.



Ça laisse à réfléchir sur les intentions très festives et conviviales des organisateurs : Si vous faites partie des classes moyenne basse et basse, vous n’êtes tout simplement pas un visiteur de qualité ! D’ailleurs, vous feriez mieux de ne pas venir, ça fera plus de place pour les « vrais visiteurs », ceux qui ont assez de fric à balancer dans une montagne de choses inutiles qu’ils auront la place de ranger dans le coffre de leur 4×4 polluant à souhait garé sur une place pour handicapé parce que c’était juste à côté de l’entrée de la Foire.


Si la thématique de cette année, sur le Japon, m’avait interpellé et interessé, de pareils propos ne me donnent pas envie de grand chose d’autre que de faire passer l’info sur à quel point on prend définitivement de manière absolue dans le commerce et marketing français le peuple pour un pigeon à lait (la vache à lait est encore trop intelligente pour être utilisée comme qualificatif à ce niveau là !).


Si vous aussi vous trouvez ça horriblement malvenu mais en même temps tellement représentatif de l’idéologie capitaliste et commerciale en France, je vous invite à partager cet article ou même à faire passer le lien vers la page incriminée sur Twitter / Facebook et tous les médias auxquels vous avez accès ! ;-)

D’ailleurs en passant, n’hésitez pas à visiter mon profil Twitter !

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Coups de gueule avec aucun commentaire

Les tâches planifiées sous Linux (cron, crontab) : seconde approche

Bonsoir la compagnie,

Après avoir fait joujou une première fois avec les tâches planifiées sous cron gnu/linux, je vous avais promis de vous en dire plus sur les procédés et les possibilités du système de planification des tâches de GNU/Linux : cron.

Résumé de ce que vous savez déjà faire si vous avez lu la première partie sur les tâches planifiées cron :

  • Créer une tâche planifiée simple qui lance un fichier exécutable avec l’utilisateur courant (celui qui a créé le cron) à l’aide la commande crontab
  • Faire des tâches planifiées à exécution unique (planification non régulière/récurrente)
  • (Utiliser un autre éditeur pour la commande crontab -e)

Ce que je vais vous apprendre en plus dans cet article :

  • Gérer des dates complexes : Répétitions, récurrence des tâches planifiées (jokers, répétitions, sélections multiples)
  • Définition d’un fichier personnalisé de tâches planifiées
  • Définir une tâche exécutée par un utilisateur précis.
  • Éxécuter une tâche planifiée dans un répertoire particulier.
  • Éxécuter une tâche planifiée graphique.
  • Gérer les sorties des commandes exécutées par CRON : logs, mails, etc.

Je vous donnerai également quelques filons pour l’utilisation de PHP avec CRON.


Retour sur la planification des tâches : la syntaxe des dates avancées avec CRON.

Je ne refais pas les explications sur les dates simples dans CRON, c’est le sujet de la première approche (dont vous avez les liens au début de cet article). Nous allons voir comment créer une tâche récurrente, à l’aide des jokers, répétitions et sélections multiples.


Le joker : *

Comme dans beaucoup d’applications informatique, le joker chez Cron est l’étoile « * ». Ainsi, si vous remplacez un quelconque paramètre d’une date par une étoile, cela signifie pour cron « quelque-soit la valeur de ce paramètre ».

Exemple : Quelque-soit le jour, je veux que à 7h05 tu dises bonjour, durant tout le mois de février :

05 07 * 02 * echo 'Hello World !'

Ici nous avons remplacé le numéro du jour dans le mois, ainsi que le jour de la semaine (qui est également susceptible de varier !) par le joker « * », ainsi, quelque-soit les valeurs de ces paramètres, si les autres paramètres (heure, minute, mois) sont vérifiés, CRON dira bonjour au monde.


La répétition : /

Le joker permet de spécifier, au maximum, une répétition toutes les unités de temps d’un paramètre précis. En effet, si je mets un joker pour l’heure, alors cela sera exécuté toutes les une heure, puisque cela sera « quelque-soit l’heure ». Ainsi, avec les jokers, vous pouvez répéter au mieux : tous les jours, toutes les heures, toutes les minutes, tous les lundis, tous les mois… Bref, pas terrible comme flexibilité tout de même. C’est à cela que sert la répétition, elle vous permet de dire tous les combien de variation d’un paramètre vous voulez que cela se répète. Une variation d’un paramètre, c’est +1 minutes, +1 heure, +1 jour, etc. …

L’opérateur de répétition s’utilise comme suit : valeur_param/intervalle_de_repetition

Ainsi, si je veux que toutes les 15 minutes, une action se répète, quelque-soit la date :

*/15 * * * * /usr/bin/monaction

On utilise ici également le joker, puisque l’action se répète quelque-soit la minute, l’heure, ou la date…




Les intervalles et les sélections multiples

Vous pouvez également définir plusieurs valeurs d’un paramètre pour lesquelles la tâche sera exécutée. On procède soit en donnant un intervalle de valeurs, soit une liste de valeurs.

Opérateur d’intervalle : -

Utilisation : borne1-borne2 ou borne1 et borne2 sont les bornes de l’intervalle ( [borne1 ; borne2] ) et incluses.

Exemple : La précédente action se répète toutes les 15 minutes, du 1er au 10 du mois

*/15 * 1-10 * * /usr/bin/monaction

Opérateur de valeurs multiples : ,

Utilisation : valeur1, valeur2, valeur3…

Exemple : La précédente action se répète toutes les 15 minutes mais seulement entre 02h et 03h puis entre 05h et 06h

*/15 2,5 * * * /usr/bin/monaction



Définir une fichier cron personnalisé : Cron en mode admin

Jusqu’à présent, vous avez utilisé la commande crontab afin de modifier votre fichier cron et d’ajouter ou de supprimer des tâches.

En réalité vous n’avez utilisé que le côté « utilisateur » de cron. La suite n’est ouverte qu’à un accès root, autrement dit l’administateur de la machine, car elle permet notamment de décider de sous quel utilisateur vont être exécutées les tâches, ce que nous verrons en même temps.

Si ce mode d’utilisation de cron n’est réservé qu’à l’administateur, c’est pour plusieurs raisons :

  1. Il va permettre, comme je l’ai dit, de choisir l’utilisateur qui exécute la commande
  2. Le répertoire dans lequel nous allons créer le fichier appartient à root
  3. Seul root peut demander à cron de recharger les fichiers de configuration, or nous en aurons besoin car comme nous allons éditer de simples fichiers, la commande crontab ne sera pas là pour, à la fin de l’édition du fichier, dire à cron « Hey hey, ouhou, on a modifié le fichier là, viens y jeter un coup d’oeil » et par défaut cron ne verra donc pas vos modifs sans reload, et donc sans droits d’admin.




Créer votre fichier de tâches planifiées : le répertoire /etc/cron.d/

Vous êtes donc maintenant loggé en root, ou, si vous n’avez pas le su sur votre machine, vous exécuterez le reste des commandes avec un « sudo » devant.

Les fichiers de tâches planifiées sont placés dans le répertoire /etc/cron.d/, qui appartient à root.

Créons-y un fichier :

vim /etc/cron.d/monfichiercron

Voilà, tout le travail est fait… ou presque. Dans ce fichier, vous pouvez placer des tâches planifiées exactement de la même façon qu’avec la commande crontab à la différence prêt… qu’il faut spécifier l’utilisateur d’exécution !

Cela donne :

mm HH JJ MM joursemaine utilisateur /chemin/commande

Exemple, je suis l’utilisateur Troll, je veux que l’utilisateur Toto fasse le ménage dans son dossier personnel chaque semaine (vision geek du Range ta chambre ! maternel/paternel), on dira qu’on est un peu radical, si le dimanche il n’a pas vidé son dossier perso (il est censé le faire le samedi) tant pis : tout poubelle !
Note : A NE PAS TESTER CHEZ VOUS ! Vous risqueriez d’avoir de sérieux ennui ^^

01 00 * * sun toto rm -fR /home/toto/*

Bien sûr l’utilisateur peut aussi être root… But, be careful !

Ensuite, une fois que vous avez sauvegardé votre fichier, il faut dire à cron de le relire pour l’intégrer :

(encore une commande à faire en root, si vous avez bien lu le début de ce paragraphe !)
/etc/init.d/crond reload

Cron a bien rechargé s’il dit ça normalement :

Reloading crond: [ OK ]




Les autres fichiers préconfigurés de cron :

Cron a également des dossiers préconfigurés, dans lesquels il vous suffit de mettre un script (ou un lien symbolique, solution la plus souvent utilisée) exécutable.

Ces dossiers sont les suivants :

  • /etc/crond.daily : exécution quotidienne (chaque jour à 4h02)
  • /etc/crond.hourly : exécution chaque heure (chaque heure + 1 minute)
  • /etc/crond.weekly : exécution hebdomadaire (le dimanche à 4h22)
  • /etc/crond.monthly : exécution mensuelle (le 1er du mois à 4h42)

Comme je suis gentil, je vous donne même les commandes :

Création d’un script exécutable dans un dossier :
(en root encore et toujours)
vim /mon/chemin/de/fichier && chmod +x /mon/chemin/de/fichier

Création d’un lien symbolique dans /etc/crond.daily (par exemple) pointant vers /mon/chemin/de/fichier :

ln -s /mon/chemin/de/fichier /etc/crond.daily/monscript && chmod +x /etc/crond.daily/monscript

L’avantage du lien symbolique c’est que vous pouvez mettre votre script dans un dossier où vous le retrouvez et vous pouvez placer un lien dans plusieurs dossiers /etc/crond.XXX/ sans avoir à modifier tous les fichiers quand vous modifiez le script (principe du lien symbolique).




Éxécuter des tâches planifiées dans un répertoire particlier

Il peut s’avérer que vous ayiez besoin d’exécuter une commande qui va chercher des fichiers ou autres dans son répertoire courant et qui sera donc perdue si vous la lancez avec cron de la manière /chemin/commande

Pour cela, utilisez tout simplement la commande cd :

03 01 * * * tutu cd /home/tutu/scripts/ && ./macommande




Éxécution d’une tâche planifiée graphique

La console, y’a rien de mieux, ça plante pas, ça vous cache rien… Mais c’est pas très esthétique. Puis si vous voulez par exemple lancer Amarok pour vous reveiller en musique, Amarok va avoir besoin d’une interface graphique (sauf si vous connaissez une interface ligne de commande pour amarok, auquel cas je veux bien que vous partagiez l’info avec moi !).

Pour cela, procédez comme suit : placez DISPLAY=:0 après le jour de la semaine, ou après le nom d’utilisateur quand celui-ci est spécifié.

Si vous utilisez une commande composée, du type :

/chemin/premierecommande && /chemin/deuxiemecommande

(ce qui est notamment le cas lorsque vous exécutez dans un répertoire particulier) alors vous devez mettre le DISPLAY=:0 juste avant la commande qui aura besoin de l’affichage.

Gérer les sorties des commandes exécutées par CRON : logs, mails, etc.

Par défaut, notamment lors de la définition d’une tâche planifiée avec crontab -e, si votre commande génère une sortie vous devez – en théorie (désactivé sur certaines distrib’) – recevoir un « mail » ( dans /var/spool/votrelogin ) avec la sortie générée.

Ce n’est pas vraiment un mode très pratique pour logger et retrouver les sorties de vos tâches planifiées préférées.

Je vais donc vous montrer comment enregistrer dans un fichier log la sortie de vos tâches planifiées.

En fait, cela revient au même que pour enregistrer dans un fichier log une commande console standard. Cela revient à faire comme ceci :

Enregistrer tout dans monfichier.log (sortie normale + erreurs)
/chemin/macomandequigenereunesortie > monfichier.log 2>&1

Enregistrer seulement les erreurs dans monfichier.log :

/chemin/macomandequigenereunesortie > /dev/null 2> monfichier.log

Ne rien enregistrer :

/chemin/macomandequigenereunesortie > /dev/null 2>&1

Attention, tel que c’est présenté ici, chaque nouvelle exécution remplace le contenu de monfichier.log

Si vous voulez logger sur plus d’un seul lancement, vous devez créer le fichier monfichier.log avant (ce qui n’était pas nécessaire précédemment) et remplacer systématiquement dans les précédentes commandes, le « > » par « >> » (enfin presque, pas tous, regardez ci-dessous).

Ce qui donne :

/chemin/macomandequigenereunesortie >> monfichier.log 2>&1
/chemin/macomandequigenereunesortie > /dev/null 2>> monfichier.log
/chemin/macomandequigenereunesortie > /dev/null 2>&1


Annexes : Utilisation de PHP avec CRON

Pour lancer une tâche écrite en PHP avec cron, saisissez une tâche de la manière suivante :

mm HH JJ MM joursemaine [user] /usr/bin/php -f /chemin/de/fichier.php

Ou, ce qui est conseillé avec PHP, avec exécution dans un repértoire particulier :

mm HH JJ MM joursemaine [user] cd /chemin/de/ && /usr/bin/php -f ./fichier.php

Bien évidemment, vous pouvez logger dans un .log avec les .php comme avec n’importe quelle autre commande.

Voilà, c’est terminé : des remarques, des erreurs à signaler, des questions -> Les commentaires sont là pour ça ! J’espère avoir été clair et que cet article sera utile au plus grand nombre :-)

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Administration serveur,Scripts, astuces, dév. web avec 22 commentaires

Faire fonctionner le tapping (ou tap-click, clic tappé) de votre TouchPad sous Fedora 11 (FC11)

Par défaut sous Fedora 11, le tapping n’est pas activé pour votre touchpad, notamment sur les Dell.

La manipulation à effectuer pour le faire fonctionner est en réalité très simple même si elle n’est pas facile à trouver.

Tout d’abord, ouvrez une console et tapez :

 gpointing-device-settings



Éditez à votre convenance les options pour le TouchPad, notamment pensez à activer le tapping.

Ensuite, cliquez sur « OK » en bas à droite. Si vous êtes sous GNOME, cela devrait maintenant fonctionner après redémarrage. Si vous êtes sous KDE (mais vous pouvez tenter sous Gnome aussi si la précédente manip’ n’a pas suffit), tapez ceci en console :

sudo cp -v /usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi /etc/hal/fdi/policy/



Ensuite, éditez le fichier /etc/hal/fdi/10-synaptics.fdi avec l’éditeur de votre choix (en root), et décommentez les lignes suivantes :


<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>

Redémarrez, cela devrait maintenant fonctionner :-)

Si vous avez un quelconque problème avec la manip’, n’hésitez pas à laisser un commentaire :-)

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Non classé avec 1 commentaire

La censure jusqu’au bout de l’URL

Alors qu’on est déjà au courant depuis longtemps avec DADVSI, HADOPI, LOPPSI I & II, que notre adorable gouvernement, élu à une très grande majorité qui s’est jouée à 3 % de votes dont on est au fond pas tellement sûrs de la provenance, que notre liberté de pensée et notre liberté tout court sur Internet est très loin d’être complète. Bien qu’on arrêtait déjà il y a 2 ans les gens qui transportaient des tracts de manière toute à fait inconstitutionnelle, maintenant même Facebook, qui bien que je n’en soit pas fan (dans tous les sens de « fan ») est tout de même censé être un relatif moyen d’expression et de partage, se met à censurer sur demande du gouvernement également.

Au même moment que la polémique entre Google et La Chine, on assiste à un beau soutien de Facebook à Microsoft, au final : Google décide de ne plus se soumettre à la censure chinoise qu’il juge non seulement contraignante mais complètement injuste et illégitime, Microsoft réplique que « Si on veut faire des affaires dans un pays, il faut se plier à ses lois ». Eh bien en France c’est pareil : FaceBook avait regroupé pas moins de 366 000 personnes autour d’un seul et unique groupe : le groupe No Sarkozy Day, cependant ce groupe a été supprimé par FaceBook (or facebook ne passe pas ses journées à ça, puisque les groupes limites insultants sur les juifs sont toujours dans facebook)

Ce groupe avait pour simple but de tenir ainsi les gens informés et liés autour de l’évènement préparé pour mars prochain : une manifestation nationale devant toutes les mairies / préfectures de France contre notre hyperprésident et ses hyperconneries, et même pour … sa démission ! Je suppose que les auteurs du mouvement ont considéré qu’il faut avoir du culot pour réussir dans la vie, mais je pense qu’en politique, demander la démission, ça fait juste pas très sérieux : c’est pas dans les habitudes. Dans les habitudes il y a plutôt ça maintenant : tu la fermes et tu taff.

C’est ce qu’on nous apprend à l’école, au fond : si tu n’es pas sage en classe, que tu ne fais pas ton travail comme les autres, en même temps que les autres, et que tu n’as pas les mêmes réponses que les autres : tu es puni !

Eh oui, et le pire c’est qu‘on y est tous passé, par ce lavage de cerveau, et sans même que ni nous, ni nos parents ne se rendent compte de quoi que ce soit dans 99% des cas (considérons les exceptions).

Ainsi c’est un monde bien ramoli qui se lève là et qui tente un peu parfois de dire quelque-chose. La force du peuple a été étouffée, elle a été tuée, par l’éducation, le bourrage de crâne, les manipulations socio-économiques qui obligent les gens à s’accrocher à leur boulot pour ne pas mourir derrière un container à poubelle.

Tous ces procédés sont maintenant parfaitement ficelés, tellement, qu’on peut se permettre d’effectuer des actions complètement anti-démocratiques très ouvertement et sans aucune retenue : promulguer une autorité non juridique pour supprimer l’accès à l’information libre et à l’expression massive libre sur simple demande d’une société privée américaine… ou encore faire supprimer les points de rassemblement des contestataires : les rassemblements physiques en premier grâce à l’Armée de l’Empire (comprenez CRS & Gendarmerie (rappel : Un gendarme est un soldat, si si, la Gendarmerie fait partie de l’armée) ), puis dans un deuxième temps les rassemblements virtuels / moraux y passent aussi.

À quand le rétablissement de la peine de mort, et surtout, du catholicisme judaïsme obligatoire en France ?

En tout cas, en attendant, je vous invite tous à agir tant que notre marge d’action n’est encore pas complètement égale à 0 (mais tend vers), et à vous inscrire sur ce fameux groupe « No Sarkozy Day » pour montrer à l’état que la dispersion n’est pas suffisante pour nous faire abandonner nos libertés fondamentales… notre nature d’être humain !

Mise à jour du 16/02/2010 : Il est à noter que le No Sarkozy Day a quelques peu révisé ses revendications ! La démission du président n’est plus recquise (on abandonne l’utopie, paraît que ça passe mal, demandez aux communistes en prison ils confirmeront), le but est simplement maintenant de dire « Non ». Non à cette politique qui n’en est pas une, Non à un gouvernement illégitime qui ne rempli pas son rôle qu’est celui de s’occuper de son peuple et non des entreprises américano-nippones (Sony c’est pas ‘ricain !). Non a un nain aussi con que dans Naheulbeuk ! (bah, fallait bien le placer ça !)

Mise à jour du 06/03/2010 : De nouvelles découvertes sur le No Sarkozy Day [ NSD ] ! Jetez donc un coup d’oeil là : Le NSD (No Sarkozy Day) dirigé par des extrêmistes incultes ?

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans politique avec 3 commentaires

2010… 2010… 2010…

Le titre de ce billet, qui semble se chercher, fait bien état de ce que l’année 2010 transporte, pour moi, mais également pour beaucoup d’autres personnes je pense.

Après des élections européennes à mon goût pas encore à la hauteur du contre-poids nécessaire face à l’empereur Sarkozy, des régionales qui s’annoncent aussi bien préparées qu’une joute verbale entre deux enfants de l’école primaire du trou du cul du monde, une année 2009 parsemée, en France, de désastres politiques et de ruptures peuple / gouvernement ajoutées à de nombreuses lois entraînant la regression toujours plus rapide de nos droits, l’année 2010, qui ne semble pas préparer un quelconque changement après une conférence de Copenhague encore plus ratée que nous ne l’imaginions, ne donne pas vraiment envie.

Comme à chaque nouvel an, je me rends compte que le 1er janvier dernier était il y a déjà 365 jours alors qu’il ne semble être qu’à quelques semaines (52, on peut peut-être approximer à « quelques » :) ).

Cette fois c’est pire, on change de décennie : déjà 10 ans que nous fêtions le changement de millénaire (même si les puristes l’ont fêté en 2001… ). Déjà 10 ans que nous parlions de la fin du monde, déjà 10 ans que nous parlions du fameux bug qui devait rendre la moitié de l’informatique de l’époque (ah ! Mon lecteur disquette, ce cher et tendre lecteur disquette…(les 3.5″, of course) ).

En même temps, pour nous qui sommes plongés dans les nouvelles technologies, voire qui travaillons dedans, c’est plutôt le raisonnement inverse : il n ‘y a que 10 ans l’informatique était encore réservée à ceux qui avaient un grand intérêt à s’y mettre, l’ADSL à la campagne on ne savait même pas ce que c’était, et Internet c’était juste vaguement un truc qui servait à faire augmenter les ventes de Norton Antivirus car « Attention aux virus si tu vas sur Internet ».

Aujourd’hui Internet, c’est non seulement la vie courante, mais c’est surtout devenu plus qu’un simple réseau de transport de données, c’est devenu une véritable seconde vie. Second Life le savait peut-être déjà quand ils créaient leur jeu il y a déjà plusieurs années de ça, peut-être n’y croyaient-ils pas vraiment, mais en tout cas c’est chose faite : Même nos politiciens, bien que drôlement maladroits, se baladent sur twitter, le wi-fi a même été introduit dans l’hémicycle…

Alors comme d’habitude au nouvel an, c’est le doute entre nostalgie, constat catastrophique sur l’histoire de l’homme et angoisses métaphysiques sur son pauvre avenir. Tout au plus encore quelques décennies à fêter ? Quels avenirs pour vos enfants ? Quels avenirs pour nos parents ? Que deviendrons-nous ? Le développement continue sa courbe exponentielle et 2009 en a été la preuve une fois de plus, plus rien n’est pareil.

Que nous réserve 2010 ? Est-ce que le 31 décembre 2010 je serai en train d’acheter du champagne via mon téléphone portable en passant pas la plate-forme de paiement de Fesse de Bouc ? Si un avion n’est pas encore tombé sur ma tête de troll :)

Il est cependant toujours bon de voir une choses : Tous ces gens dans la rue en train de crier, fêter tant qu’ils le peuvent le passage à la nouvelle année. Soient ils sont simplement inconscients de ce que représente une année de plus de passée, soit celle-ci a été pour eux parfaite et le cours de choses les satisfaits au point qu’ils soient heureux que l’on entame une nouvelle période dans le calendrier avec les mêmes bêtises en tête que quelques centaines de jours avant.

Le passage à 2010 et de manière générale à la nouvelle année c’est également le moment de constaté tout ce que nous n’avons pas réussi à terminer voire tout simplement à entamer dans les projets que nous nous étions faits. C’est également l’occasion d’en faire d’autre, sans parler des éternelles « résolutions » que je n’ai jamais réussi à respecter, pour peu déjà que j’ai pris le temps d’en trouver :)

2010 c’est également il paraît, s’éloigner de la fameuse « crise » qu’on aime à nous faire croire qui cause tout le malheur du monde. Il paraît qu’elle faisait des ravages en 2009 et pourtant nombre de secteurs ont encore sorti des bilans plus positifs que les années précédentes.

Une chose est sûr, pour moi 2010 c’est définitivement l’ « année-bascule », ceux qui savent pourquoi comprendront, c’est donc avec d’autant plus d’amertume qu’on entame une année qui prévoit d’être aussi dure qu’imprévisible.

Et pour tout de même finir sur une note positive, cette année Google s’est encore éclaté, en effet sur Google.com (.fr je ne crois pas que ça fonctionne, trop sérieux ces Fr), si vous cliquez (sans avoir rien tapé dans la barre de recherche) sur le bouton  « I’m feeling lucky », voyez-donc ce que Google vous a préparé :

Happy New Year Google 2010

Happy New Year Google 2010

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Pensées avec 2 commentaires

Connaître / récupérer le prochain ID AUTO_INCREMENT d’une table SQL

Aujourd’hui je vous fais part d’une chose que bien des gens ont cherché sur Internet et que bien des webmasters ont abandonné de trouver… la méthode pour connaître la valeur du prochain ID d’un champ de type AUTO_INCREMENT dans une table SQL.

Attention cependant, cette méthode fonctionne pour une table ne comprenant qu’un seul champs de type auto_increment et pour MySQL. Je vous laisse le soin de tester (et de nous dire ce que ça donne en laissant un petit commentaire ;-) ) et d’adapter pour d’autres situations, celle situation-ci restant la plus courante.

L’astuce est d’appeler la commande SHOW TABLE STATUS.

En effet si vous tapez par exemple cette requête SQL dans PhpMyAdmin, vous verrez apparaître plein d’informations sur toutes les tables de votre base de données courante.

Si vous souhaitez réduire les lignes à une table précise :

SHOW TABLE STATUS
LIKE 'NomDeLaTable'

Vous allez alors voir qu’une colonne est nommée Auto_increment (attention à la majuscule, importante !). Cette colonne contient la prochine valeur que prendra le champs de type auto_increment de cette table. Attention : la PROCHAINE. Si vous souhaitez connaître la dernière valeur prise par l’auto_increment il faut donc soustraire 1. Je rappelle au passage que l’utilisation de la commande MAX() ou d’un SELECT avec un ORDER BY DESC LIMIT 0,1 derrière ne fonctionnera pas car vous avez la possibilité que des lignes de la table aient été supprimées.

Si vous utilisez par exemple PHP et la fonction mysql_fetch_assoc() (ou mysql_fetch_array() pour les non-éclairés ou ceux qui ont besoin des clés numériques & textuelles), vous récupérerez alors dans votre tableau associatif cette valeur dans la clé nommée ‘Auto_increment’.

Share and Enjoy:
  • Print
  • PDF
  • Twitter
  • Facebook
  • LinkedIn
  • RSS
  • Wikio FR
  • Digg
  • del.icio.us
  • Google Bookmarks
  • Technorati
  • Sphinn
  • Mixx
  • Add to favorites
  • Live
  • Netvibes
  • Scoopeo
  • viadeo FR
  • Identi.ca
  • MySpace
  • StumbleUpon
  • Yahoo! Buzz
posté par Troll dans Scripts, astuces, dév. web avec 5 commentaires