Faire pipi sous la douche pour sauver la planète
Je me fais l'écho d'un petit article du journal Le Monde, qui indique qu'une association Brésilienne vient de se lancer dans une campagne originale pour préserver l'eau : "Faire pipi sous sa douche" !
Selon les calculs de l'organisation, chaque personne qui évite de tirer la chasse d'eau une fois par jour, en profitant de l'eau utilisée pendant une douche, économise 4 380 litres d'eau potable par an.
Par admin, le 25 Aou 2009 à 09:48 Ecologie
0 commentaire
Selon les calculs de l'organisation, chaque personne qui évite de tirer la chasse d'eau une fois par jour, en profitant de l'eau utilisée pendant une douche, économise 4 380 litres d'eau potable par an.
Mettre a jour son status Facebook depuis Twitter
Maintenant, à chaque fois que je fais un nouvel article sur mon blog, mon status Twitter est mis à jour et Facebook est mis à jour par Twitter.
Vincent RABAH est à fond dans la blogosphère :)
Twitter avec mypluxml
Je voulais améliorer mypluxml (qui propulse ce blog) pour poster directement dans Twitter le
titre et l'url de chaque nouvel article. Je débute en php, c'est donc
pas très propre mais cela fonctionne. J'aurai préféré réaliser ça sous
forme de plugin mais le temps et les compétences me manquaient.Au début du fichier /core/lib/class.admin.php il faut ajouter :
require(PLX_DOC.'lib/twitter.class.php');
Puis j'ai ajouté les lignes suivantes après la ligne 90 :
if(write(PLX_XML.$xml,$filename)){
tags::editTags($data['tags'], $data['old_tags']);
// Ajouté par Vincent RABAH
$VR_pattern='/[0-9]{4}\.[0-9]{3}\.(.*)\.xml/';
preg_match($VR_pattern,$filename,$VR_title);
$VR_title[1] = str_replace('-', ' ', $VR_title[1]);
$VR_pattern='/\d(\d\d\d)\.[0-9]{3}\.(.*)\.xml/';
preg_match($VR_pattern,$filename,$VR_url);
$VR_message = "Blog update : $VR_title[1]\nhttp://www.it-wars.com/?$VR_url[1]-$VR_url[2]";
$VR_twitter = new Twitter('username', 'password');
$VR_status = $VR_twitter->send($VR_message);
// Ajouté par Vincent RABAH
return array($file, 'Article créé');Cette classe Twitter ce télécharge a cette adresse :http://download.nettephp.com/twitter.zip
Voilà
Exchange Server 2007
A peine rentré de vacances et déjà en pleine migration sendmail vers Exchange Server 2007 qui est d'une complexité insoupçonné ... Je connaissais bien pour en avoir déployé plusieurs Exchange 2003, mais les sécurités mis en place sur l'AD de Windows 2008 et donc sur Exchange ne facilitent pas la tache !J'ai néanmoins repéré un site qui est réellement une mine d'information sur le sujet : Exchangepedia .
Script ruby pour récupérer les videos sur Vimeo avec ProgressBar
Il y a quelques temps je poposais un petit script pour télécharger des vidéos directement sur le site de Vimeo et les stocker sur son disque dur. Comme le temps de téléchargement peut être très long, j'y ai ajouté une progressbar !Un petit
gem install progressbaret roulez (J'ai testé ce script sous Linux et Windows).
#!/usr/bin/ruby
require 'rubygems'
require 'progressbar'
require 'net/http'
if ARGV.size < 1
puts "usage vimeo.rb <id_video>"
exit 1
else
id = ARGV[0]
Net::HTTP.start('www.vimeo.com') {|http|
req = Net::HTTP::Get.new("/moogaloop/load/clip:#{id}", nil)
response = http.request(req)
/<caption>(.*)<\/caption>/.match(response.body)
title = $1
/<request_signature>(.*)<\/request_signature>/.match(response.body)
signature = $1
/<request_signature_expires>(.*)<\/request_signature_expires>/.match(response.body)
signatureExp = $1
puts title
req = Net::HTTP::Get.new("/moogaloop/play/clip:#{id}/#{signature}/#{signatureExp}/?q=hd", nil)
http.request(req) { |response|
/(mp4|flv)/.match(response['location'])
ext = $1
/http:\/\/(.*\.vimeo\.com)(\/.*)/.match(response['location'])
Net::HTTP.start($1) {|http|
req = Net::HTTP::Get.new($2)
alreadyDL = 0
http.request(req) { |response|
pBar = ProgressBar.new(title,100)
size = response.content_length
File.open("#{title}.#{ext}",'w') {|file|
response.read_body {|segment|
alreadyDL += segment.length
if(alreadyDL != 0)
aPercent = (alreadyDL * 100) / size
pBar.set(aPercent)
end
file.write(segment)
}
pBar.finish
}
}
}
}
}
end
Le fit-PC2 le rêve pour l'auto-hébergement
La version précédente reposait quant à elle sur un ADM Geode 500MHz vendu aux environs de 159$ avec un consommation qui tourne dans les 5W.
En outre, les Intels Atom Z5xx sont des processeurs capables de virtualiser ! Ce qui laisse envisager des choses intéressantes en particulier dans le domaine de la redondance pour l'auto-hébergement (en ayant des sites de backup chez d'autres particuliers).
En attendant je suis en vacances et je verrai à la rentrée si je me lance ou non ?!
Wiki de l'auto-hébergement
Je pratique l'auto-hébergement depuis quelques temps déjà, et il y a peu de temps je suis tombé sur un wiki en français consacré entièrement à l'auto-hébergement.
Il est très bien réalisé, fourmille de conseil, pour les sites web, la messagerie, les fournisseurs d'accès, ...
Le wiki
Il est très bien réalisé, fourmille de conseil, pour les sites web, la messagerie, les fournisseurs d'accès, ...
Le wiki
Script ruby pour récupérer les videos sur Vimeo
Ce weekend étant particulièrement chaud, je suis resté un peu dans la maison pour profiter de la fraicheur.Mettant a profit cette période, je me suis lancer dans la réalisation un script pour télécharger des vidéos de bodyboard sur Vimeo.
Après une brève analyse, je suis arrivé à ce bout de code qui enregistre la vidéo demandée dans le répertoire courant :
#!/usr/bin/ruby
require 'net/http'
if ARGV.size < 1
puts "usage vimeo.rb <id_video>"
exit 1
else
id = ARGV[0]
Net::HTTP.start('www.vimeo.com') {|http|
req = Net::HTTP::Get.new("/moogaloop/load/clip:#{id}", nil)
response = http.request(req)
/(.*)<\/caption>/.match(response.body)
title = $1
/(.*)<\/request_signature>/.match(response.body)
signature = $1
/(.*)<\/request_signature_expires>/.match(response.body)
signatureExp = $1
req = Net::HTTP::Get.new("/moogaloop/play/clip:#{id}/
#{signature}/#{signatureExp}/?q=hd", nil)
http.request(req) { |response|
puts response['location']
/(mp4|flv)/.match(response['location'])
ext = $1
/http:\/\/(.*\.vimeo\.com)(\/.*)/.match(response['location'])
Net::HTTP.start($1) {|http|
req = Net::HTTP::Get.new($2)
http.request(req) { |response|
File.open("#{title}.#{ext}",'w') {|f|
f.write(response.body)
}
}
}
}
}
end
Page 1 sur 2 | suivante > | >>




