Convertir des vidéos de Youtube en mp3 / Intégration PCManFM

Bon, ce qu’on va faire aujourd’hui est dans le titre, convertir des vidéos de Youtube en mp3.

C’est tout simple avec le script youtube-dl présent dans toutes les bonnes distributions. Continuer la lecture de Convertir des vidéos de Youtube en mp3 / Intégration PCManFM

Python, la tête dans les étoiles

Aujourd’hui, un article écrit par Kevin Samuel sous licence Creative Commons qui m’a bien aidé lors de mes débuts en python à comprendre les étoiles et notamment les fameux f(*args, **kwargs):

L’utilisation du signe étoile (*) en Python est très simple, mais certains cas sont peu intuitifs. Les nouveaux venus ont souvent besoin d’un peu plus
d’explications que ce que donne la doc. Les utilisateurs d’autres langages sont généralement déroutés car ils sont habitués certaines fonctionnalités qu’on ne retrouvent pas en Python.

Continuer la lecture de Python, la tête dans les étoiles

Régler l’heure d’un environnement virtuel OpenVZ

Tuto servant à régler l’heure d’une machine virtuelle OpenVZ. Source: http://forum.openvz.org/index.php?t=msg&goto=6694&

Admettons que l’environnement virtuel ait l’ID 101.

On stoppe le VE:

# vzctl stop 101

On lui donne la possibilité de régler l’heure:

# vzctl set 101 --capability sys_time:on --save

On le démarre:

# vzctl start 101

On entre dedans pour finaliser l’opération:

# vzctl enter 101

On définit par exemple le fuseau horaire de Paris:

# mv /etc/localtime /etc/localtime.old
# ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime

Fini, l’environnement virtuel est à l’heure !

Changer la clef d’activation Windows

Script trouvé ici: http://www.commentcamarche.net/forum/affich-12008209-changer-ma-cle-d-activation-windows

Voici un copier-coller:

'***************************************************************************
' 
' Script - ChangeKey.vbs
'
' Ce script vous autorisera à changer de clef sur XP /Vista /7
'
' Made by Ro20.
' 
'***************************************************************************

Dim objFS, objFile, objShell
Dim strXPKey, strSystemRoot

Set objFS = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")

ON ERROR RESUME NEXT


'On récupère la clef actuelle
oldkey = GetKey(objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))


Dim VOL_PROD_KEY

if Wscript.arguments.count<1 then
VOL_PROD_KEY=InputBox("Instructions:" & vbCr & vbCr & "Ce script vous permettra de changer la clef actuelle de votre Windows." & vbCr & "ATTENTION les clefs OEM ne sont pas valables." & vbCr &  vbCr & "Entrez dans la case ci-dessous votre nouvelle clef: " & vbCr & "(clef actuelle inscrite par défaut) ","Changeur de clef Windows XP/Vista/7",oldkey)
if VOL_PROD_KEY="" then
Wscript.quit
end if
else
VOL_PROD_KEY = Wscript.arguments.Item(0)
end if

VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'remove hyphens if any


for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")

result = Obj.SetProductKey (VOL_PROD_KEY)

if err = 0 then

Newkey = GetKey(objShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))


 Wscript.echo "L'inscription de la nouvelle clef " & Newkey & " a réussi..."
end if



if err <> 0 then
strMessage = "Erreur la nouvelle clef " & VOL_PROD_KEY & " est incorrecte !" & vbCr & vbCr & "Veuillez inscrire une clef qui soit valide s.v.p."& vbCr & vbCr & "L'ancienne clef " & oldkey & " n'a pas été modifiée."

result = Msgbox (strMessage,vbExclamation ,"Erreur clef incorrecte !")


' Inspect the return value.
If result = vbRetry Then
   Wscript.quit
 ' Show result using the Echo method.
Else 
    Err.Clear
    Wscript.quit
End If


end if

Next



'--------------------------------------------------------------------------

Function GetKey(rpk)
  Const rpkOffset=52:i=28
  szPossibleChars="BCDFGHJKMPQRTVWXY2346789"
  Do
    dwAccumulator=0 : j=14
    Do
      dwAccumulator=dwAccumulator*256
      dwAccumulator=rpk(j+rpkOffset)+dwAccumulator
      rpk(j+rpkOffset)=(dwAccumulator\24) and 255
      dwAccumulator=dwAccumulator Mod 24
      j=j-1
    Loop While j>=0
    i=i-1 : szProductKey=mid(szPossibleChars,dwAccumulator+1,1)&szProductKey
    if (((29-i) Mod 6)=0) and (i<>-1) then
      i=i-1 : szProductKey="-"&szProductKey
    End If
  Loop While i>=0
  GetKey=szProductKey
End Function

jQuery UI: effet accordéon > Changer la vitesse d’ouverture

Je me suis retrouvé face à un petit problème: je voulais réduire la vitesse d’ouverture d’un effet accordéon créé avec jQuery UI.

Le souci est que je n’ai trouvé nulle part dans la doc comment régler la vitesse d’ouverture. J’ai trouvé la solution au hasard d’une mailing-liste sur jQuery, il suffit de créer une animation custom.

Dans l’exemple qui suit, je définit une nouvelle animation



OpenERP: export de base de données – compression extrême avec lzma

Exporter une base

$ pg_dump -Fp --no-owner ma_base_openerp > ma_base_openerp.sql

-Fp: on exporte au format plain text

–no-owner: on ne sauvegarde pas le nom du propriétaire

Et pour importer une base ??

Pour importer une base exportée:

$ psql -d nom_de_ma_base_openerp -f mon_export.sql

Compression extrême avec lzma

Dans le cas d’une très grosse base de données, il peut être intéressant de la compresser la base. pg_dump a une option de compression mais le ratio peut être grandement amélioré avec lzma.

LZMA, pour Lempel-Ziv-Markov chain-Algorithm, est un algorithme de compression de données en développement jusqu’à 2001 et utilisé dans le format 7z du programme 7-Zip et par StuffitX. Il utilise une compression avec dictionnaire assez similaire au LZ77 et offre un fort taux de compression (en général plus fort que le Bzip2) et une taille variable de dictionnaire de compression (jusqu’à 4 Go). (voir aussi LZW) source Wikipedia

Donc voici comment exporter une base et la compresser à la volée avec lzma:

$ pg_dump -Fp --no-owner ma_base_openerp | lzma --best -f -c > ma_base_openerp.lzma

L’option –best permet d’obtenir le meilleur ratio de compression.

A titre d’exemple, j’avais une base de donnée qui, non compressée, faisait 1,3 Go.

En utilisant le meilleur ratio de compression de pg_dump, je tombe à 373 Mo

lzma fait encore mieux, seulement 64 Mo !!