Développement Web Ruby
par Sylvain CLAUDEL

Derniers posts

29 choses à faire pour rester créatif !

Date d'édition 2011-06-21 à 18:29

Bon voilà j'ai vu cette vidéo sur www.petapixel.com un super blog de photo anglophone. J'ai beaucoup aimé !

29 WAYS TO STAY CREATIVE from TO-FU on Vimeo.

1. Faites des listes
2. Emenez toujours un carnet avec vous
3. Ecrivez ce qui vous passe par la tête
4. Ne restez pas sur l'ordinateur
5. Arrêtez de vous battre avec vous-même
6. Faites des pauses
7. Chantez sous la douche
8. Buvez du café bien chaud
9. Ecoutez de la nouvelle musique
10. Soyez ouvert
11. Entourez vous de personnes créatives
12. Récupérez des avis
13. Collaborez avec les autres
14. N'abandonnez pas
15. Pratiquez pratiquez pratiquez
16. Permettez vous de faire des erreurs
17. Changez d'air, allez à de nouveaux endroits
18. Comptez les compliments que l'on vous fait
19. Reposez vous
20. Osez, prenez des risques
21. Cessez les règles
22. Ne forcez pas
23. Lisez une page de dictionnaire
24. Créez un cadre de travail
25. Arrêtez d'essayer d'être quelqu'un d'autre de parfait
26. Vous avez une idée ? Ecrivez-la !
27. Nettoyez et désencombrez votre espace de travail 
28. Prenez du plaisir
29. Terminez des choses

Lien direct :

https://www.petapixel.com/2011/06/21/29-things-you-can-do-to-stay-creative/

Google Chromebook puzzle arithmétique 3

Date d'édition 2011-06-20 à 13:11

Bon après 1h30 de recherche à deux, on a trouvé une bonne partie, il manque un petit quelque chose (qu'on réussi à deviner avec un peu de bon sens), ce qui nous manque doit être résolu avec l'espèce de compteur. Mais en attendant voici le script qui résoud l'énigme numéro 3 des Google chromebook puzzle. Voir ici : https://www.google.fr/chromebook/puzzles/puzzle3.html !

EDIT : Merci à carreau, donc le cadran ne servait à rien. Et il fallait bosser sur des floats ! J'ai donc rajouter des ".0" et j'ai testé == 24.0

signe = {
"b" => [ "*", "+", "-" ],
"c" => [ "*", "*", "*" ],
"d" => [ "*", "*", "+" ],
"e" => [ "*", "*", "-" ],
"f" => [ "+", "+", "+" ],
"g" => [ "+", "+", "-" ],
"h" => [ "*", "/", "/" ],
"i" => [ "*", "*", "/" ],
"j" => [ "/", "/", "+" ],
"k" => [ "-", "-", "-" ],
"l" => [ "/", "-", "-" ],
"m" => [ "/", "+", "-" ],
"n" => [ "*", "/", "-" ],
"o" => [ "*", "/", "+" ],
"p" => [ "/", "/", "-" ],
"q" => [ "/", "/", "/" ],
"r" => [ "+", "-", "-" ],
"s" => [ "*", "+", "+" ],
"t" => [ "*", "-", "-" ],
"u" => [ "/", "+", "+" ]
}
chiffre = [
{:a => [6,6,6,9]},
{:a => [5,5,9,9]},
{:a => [4,5,10,11]},
{:a => [10,12,12,12]},
{:a => [1,1,13,13]},
{:a => [2,8,9,12]},
{:a => [4,4,7,13]},
{:a => [2,5,7,9]},
{:a => [3,5,12,12]},
{:a => [3,8,8,12]},
{:a => [8,8,12,13]},
{:a => [4,7,8,10]},
{:a => [4,5,10,12]},
{:a => [4,4,5,5]},
{:a => [1,1,2,11]},
{:a => [3,3,3,5]},
{:a => [2,3,5,6]},
{:a => [2,3,12,12]},
{:a => [11,12,13,13]},
{:a => [3,4,5,10]},
{:a => [5,9,10,11]},
{:a => [3,3,5,10]},
{:a => [2,5,8,8]},
{:a => [2,2,2,3]},
{:a => [2,5,6,9]},
{:a => [3,9,9,11]},
{:a => [2,2,5,7]},
{:a => [3,3,3,11]},
{:a => [2,5,7,7]}
]
str = ""
# Sur le array de chiffre
for ary in chiffre
  # combi
  r = []
  ary[:a].permutation(4) do |c|
    # boucle signe
    signe.each_pair do |k, v|
      v.permutation(3) do |sign|
        tempcalcul = c[0].to_s + ".0" + sign[0] + c[1].to_s + ".0" + sign[1] + c[2].to_s + ".0" + sign[2] + c[3].to_s + ".0"
        if eval(tempcalcul) == 24.0
          r << k
        end
      end
    end
  end
  pp r.group_by{|l| l}.map { |k,v| {k => v.length} }
end

Executez le script : ruby script.rb et lisez les lettres dans l'ordre : Internet en moins de huit secondes .

Less fonctionne maintenant en javascript

Date d'édition 2011-06-14 à 11:16

Bon l'outils en ligne de commande lessc c'est un peu has-been du coup ! Less s'utilise maintenant coté client avec le script javascript. Du coté serveur ça tourne avec Node.js, un peu lourd, pour juste compiler un css...

Mais du coup la version client est super pratique. Rien besoin, pas besoin de déployer un fichier css compilé, c'est le script js qui compile le css à la volée.


<link rel="stylesheet/less" type="text/css" href="styles.less">
<script src="less.js" type="text/javascript"></script>

Voir la doc lesscss

API Poster sur twitter en ruby

Date d'édition 2011-06-10 à 10:14

Depuis quelques temps déjà twitter demande l'inscription d'une application pour poster via l'API. Bon je ne vais pas vous expliquer comment courtourner le système ! Avec le gem twitter, pas très compliqué, le seul problème c'est que le gem n'est compatible que ruby 1.9 donc pour les applications rubyonrails en ruby 1.8 c'est mort.

1) En premier inscrire une application sous votre compte twitter (il faut déjà un compte twitter).

à Cette adresse : https://dev.twitter.com/apps/new , mettez ce que vous voulez mais Application Type: client et  Default Access type: read & write ensuite récupérez vos :

consumer_key (disponible sur la page de l'application)

consumer_secret (disponible sur la page de l'application)

oauth_token (il faut cliquer sur "My Access Token" dans le menu à droite)

oauth_token_secret (il faut cliquer sur "My Access Token" dans le menu à droite)

2) Donc installation du gem 

sudo gem install twitter 

Si vous utilisez rvm il faut utiliser l'executable gem de ruby d'rvm 

rvm 1.9.2

gem install twitter

3) Script d'exemple :

#======================== Poster sur twitter =======================
# Plus de docs sur https://twitter.rubyforge.org/
require 'rubygems'
require 'twitter'
Twitter.configure do |config|
  config.consumer_key = "XXXXX"
  config.consumer_secret = "XXXXX"
end
# Initialise votre client Twitter
client = Twitter::Client.new(:oauth_token => "XXXXX", :oauth_token_secret => "XXXXX")
# Limite de post possible, j'ai des doutes sur ce fonctionnement
puts client.rate_limit_status.remaining_hits.to_s + " Twitter API request(s) remaining this hour"
5.times{ |t|
  if client.rate_limit_status.remaining_hits.to_i != 0 then
    # Poste
    client.update(" Test numéro " + t.to_s)
  end
}

Voilà bon twits !

Indenter un fichier xml en ligne de commande sous linux avec Tidy

Date d'édition 2011-06-09 à 16:05

Tidy est un utilitaire qui permet d'indenter et de nettoyer du xml, html et xhtml (https://tidy.sourceforge.net/).

Installation :

sudo aptitude install tidy

Utilisation :

tidy -xml -indent -wrap 2000  monfichier.xml > monfichierindente.xml

Votre fichier html/xml est maintenant indenté correctement !

Développement ruby et geekeries - rivsc