[quote=“MisterFreez”]Voici une version 20% plus rapide de mon code
#Copyright Michel Barret, 4 avril 2009
[/quote]
Oh ! ça je suis TRES intéressé…
T’as un Paypal ?
[quote=“MisterFreez”]Voici une version 20% plus rapide de mon code
#Copyright Michel Barret, 4 avril 2009
[/quote]
Oh ! ça je suis TRES intéressé…
T’as un Paypal ?
Bon, bah moi j’ai créé un script en python qui … fait des bips =)
il faut d’abord installer le paquet beep
et ensuite, voila le script:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
from random import randrange
sens = 1
i, frequence, vitesse = 0
type=input("Quel type de son prefères-tu? (1 = ascendant/descendant)| 0 = sons aleatoires:")
tps=input("Combien de bips compte-tu supporter( impossible d'arrêter en cours d'execution )?")
if type == 1:
vitesse= input("Vitesse (entre 1 et 100)")
pas=input("'pas' de combien de Hertz?( entre 1 et 100 )")
hautMax=input("hauteur max ?( entre 500 et 3000 )")
while 1:
if i==tps:
break
else:
i+=1
if type==0:
frequence = randrange(0,10000)
vitesse = randrange(1, 100)
else:
if sens == 1:
frequence+= pas
if frequence >= hautMax:
sens = 0
if sens == 0:
frequence -= pas
if frequence <= 1:
sens = 1
print frequence, "<== frequence; [ ", i,"eme bip ] | [ ", vitesse ,"ms/bip ]"
os.system("beep -f "+str(frequence)+" -l "+str(vitesse))
Voilou, je vous souhaite bien du plaisir…
Dites-moi ce que vous en pensez …
@lol > Tu découvriras un jour que la licence GPL n’est pas là seule à être libre d’une part et d’autre part que même la licence GPL se sert du copyright.
Au passage t’apprendras aussi à lire#Ce logiciel est régi par la licence CeCILL soumise au droit français et
#respectant les principes de diffusion des logiciels libres. Vous pouvez
#utiliser, modifier et/ou redistribuer ce programme sous les conditions
#de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
#sur le site "http://www.cecill.info".
La licence CECILL tel que je l’utilise est une transcription de la licence GPL au droit français. Elle s’applique n’importe où dans le monde avec plus de rigueur que la GPL du fait qu’elle fait directement référence au droit français. Au niveau européen c’est la licence la plus en vue pour les administrations quand elles font du logiciel libre. Je t’invite a aller voir le site indiqué pour plus d’informations.
Tu regarderas aussi la procédure de mise d’un code sous licence GPL et la première chose c’est copyrighter le code gnu.org/licenses/gpl-howto.fr.html
Donc ?
Bon après si tu parle de la date je sais pas pourquoi je me suis raté sur le moi je vai modifier.
@L0u!$ > Si tu veut un peu plus t’amuser tu devrais regarder du coté des signeaux système pour les ignorer parce que là je pense qu’un Ctrl + C l’arrête.
Je peux pas essayer ce soir mais je t’en dis plus demain
[quote=“MisterFreez”]
Au passage t’apprendras aussi à lire[code]#Ce logiciel est régi par la licence CeCILL soumise au droit français
[…]
Donc ?
Bon après si tu parle de la date je sais pas pourquoi je me suis raté sur le moi je vai modifier.[/quote]
Donc… J’avais lu C’était juste pour te taquiner, mais je vais aller voir le lien que tu donnes, je vais m’instruire un peu !
Ici à Madagascar, les histoires de Copiryght, licences… C’est juste pour faire joli
Je vais essayer ton script aujourd’hui.
Merci pour ce travail, très utile !
Le script tourne en ce moment même, GéNIAL ! Moi qui déteste les clients FTP (toi aussi je crois…).
Merci , un souci de moins…
[quote=“MisterFreez”]@L0u!$ > Si tu veut un peu plus t’amuser tu devrais regarder du coté des signeaux système pour les ignorer parce que là je pense qu’un Ctrl + C l’arrête.
Je peux pas essayer ce soir mais je t’en dis plus demain[/quote]
En fait, on ne peut pas l’arrêter car Ctrl+C arrête le programme “beep” et non mon script … il fait juste défiler un peu plus vite les beeps
Yep,
Je vais peut être faire partager un peu mes scripts, j’en ai fait deux ou trois qui pourraient être utiles à certains, si vous voulez y jeter un oeil. Pour l’instant je n’en met qu’un parce que j’ai quelques soucis avec les autres ( ) qui ne marchent plus depuis que je suis sous Debian… Mais je ne manquerais pas de les faire partager.
Rotate & Rename
Un petit script qui permet de renommer des photos en masse.
Le script permet de renommer les photos d’un APN (qui ont souvent des noms du genre PIC837475.JPG) en fonction de leur données exif.
Chaque photo est donc renommée avec la date et l’heure à laquelle la photo à été prise, ainsi qu’un nom que vous choisissez (en général je met le nom de l’évenement ou du photographe pour les évenements ou plusieurs photographes étaient présents)
On se retrouve avec des noms du genre :
2009-06-16 02h31min18 - “$nom”.jpg
Celà permet d’avoir des noms plus sympa et pratiques que les noms d’origine, et ça permet pour un évenement ou il y a plusieurs photographes, d’avoir des photos rangées dans l’ordre, plutôt que les photos de chacun les unes à la suite des autres.
Accessoirement, le script remet les images à l’endroit (pour les photos prises verticalement)
Avertissement :
_Une fois les photos renommées, on ne peux revenir en arrière, il faut donc être sur de soi. Quelqu’un a modifié mon script de manière à permettre ça, personnellement je fais ça sur une copie des fichiers et ne supprime les originaux que quand je suis sur que c’est bon Celà dit si vous voulez l’autre script je peux lui demander l’autorisation de vous le filer (quoique il doit être sous GPL)
_Dans le cas d’un évenement ou il y a plusieurs photographes, il faut avoir tous les APN à la même heure… et c’est la que ça flanche généralement…
_Le renommage ne fonctionne pas pour les vidéos, et les renomme en " - ‘$nom’.mpg", personnellement ça ne me dérange pas vu que je n’en fait pas beaucoup et renomme donc à la main, mais ça peut en déranger certains…
Voilà.
Les dépendances :
aptitude install exiv2 libjpeg-progs
Et le script :
ras-laptopoulos:/home/ras# cat .gnome2/nautilus-scripts/Rotate\ &\ Rename
[code]#/bin/bash
IFS="
"
auteur=$( zenity --entry --title=“Auteur” --text=“Nom/pseudo du photographe” --entry-text=“ras” )
if ! [[ -z $auteur ]]
then auteur=" - $auteur"
fi
cd “$1”
ls | while read i
do
if [ -f “$i” ]
then
n=“0”
date=$( exiv2 “$i” | grep timestamp | cut -c 19- | sed ‘s%:%-%g’ | sed ‘s%-%h%3’ | sed ‘s%-%min%3’ )
if ! [[ -z “$date” ]]
then name="$date$auteur.jpg"
while [ -f “$name” ]
do
n=$(( $n + 1 ))
name="$date$auteur ($n).jpg"
done
mv “$i” “$name”
fi
exifautotran “$name”
fi
done
exit 0[/code]
Bon en écrivant ça je me rend compte qu’il y a quand même pas mal de souci avec ce scripts, qui ne me gènent pas personnellement mais qui peuvent embeter certains, celà dit ça vous fait une base si vous voulez faire un truc plus performant
Checkmails
Pour les utilisateurs de boite gmail && les non utilisateurs de thunderbird et consors.
Ce script permet de checker dans votre boite gmail si vous avez des mails et, le cas échéant, fait clignoter la led “Ver num” en fonction du nombre de mails que vous avez (clignote double si vous avez deux mails, ainsi de suite)
Ca m’est utile moi qui ne suis pas un grand fan de thunderbird et autres, qui n’a pas encore mon serveur mail perso et qui ne reçoit pas un mail toutes les 5 minutes.
Si vous n’avez pas de mail non lu, le script check vos mails toutes les 5 minutes. Si vous avez au moins un mail non lu, le script check toutes les 15 secondes si vous en recevez de nouveaux ou si vous avez lu ceux là.
Les dépendances :
aptitude install blinkd
Le script :
[code]#!/bin/bash
cd /tmp
username=raskafary
password=$( zenity --entry --title=“Mot de passe Gmail” --text=“Saisissez votre mot de passe :” --hide-text )
if [[ -z $password ]]
then exit
fi
if [[ $password == " " ]]
then password=$( zenity --entry --title=“Mot de passe Gmail” --text=“Saisissez votre mot de passe :” )
fi
sleep 15
function get_rss
{
wget -q -O .gmail_rss https://$username:$password@mail.google.com/mail/feed/atom --no-check-certificate
fc=$( cat .gmail_rss | grep “fullcount” | grep -o [1-9] )
}
while true
do
get_rss
if ! [[ fc == “0” ]]
then
until [[ $fc == “” ]]
do
blink -n -r $fc
get_rss
sleep 15
done
blink
fi
sleep 5m
done
.gmail_rss[/code]
il faut changer dans le script le username, ici c’est raskafary vu que c’est mon login gmail, donc il faut mettre le votre.
Au lancement, il vous demande votre mot de passe gmail (de façon cryptée), si vous mettez juste un espace et validez, il vous le demandera en clair, comme ça vous êtes sûr de pas faire de fautes ^^
Le mot de passe est enregistré par la machine, mais n’est pas écrit en clair dans un fichier, il vous le redemande à chaque lancement, donc il est a priori irrécupérable.
C’est dommage, car blink ne marche pas pour les PC portables …
C’est dommage faudra que je ramène mon laptop au magasin alors, il doit être défectueux vu que ça marche avec lui
(et son prédécesseur aussi)
Y’a un autre truc pour faire clignoter les leds, genre “xset led -n° de la led
” mais ça ne marche pas chez moi, blink fonctionne très bien par contre, essai en console avec d’autres arguments éventuellement.
…
Bon
…
Ça ne marche pas pour mon ordinateur portable
j’ai essayé, biensur avec d’autres arguments.
Enfin bon, je vais voir.
Ni ‘-c’ ni ‘-n’ ni ‘-s’ ? :\
Et que donne “xset led $i” ou “xset -led $i” ($i n° de la led)
Si celle ci marche y’a peut être un moyen de l’adapter, sinon je sais pas, faut voir avec le mec qui entretien blinkd
J’ai essayé, mais non, ça ne marche pas.
de toute façon, il n’y a que caps lock qui pourrait théoriquement fonctionner.
Pourquoi donc ?
Perso je le fait avec verr. num et ça marche très bien, et à l’époque ou j’avais un 17" avec un pavé numérique j’utilisais verr. num aussi…
[quote=“Ras’”]Pourquoi donc ?
Perso je le fait avec verr. num et ça marche très bien, et à l’époque ou j’avais un 17" avec un pavé numérique j’utilisais verr. num aussi…[/quote]
Bah, parce que Je n’ai QUE caps lock comme led sur mon pc ( et celle d’alim ) .
bonjour,
un petit script qui permet d’assembler 2 photos.
je sais ça sert pas tout les jours , mais ma fille a des jumelles et il est souvent difficile de les avoir toutes les 2 ensembles , au début j’utilisai gimp mais bon c’est hyper long
et puis j’ai découvert la commande montage
et je me suis fait un petit script, bon il est vraiment léger par rapport aux fonctions de montage
le code
[code]#!/bin/bash
echo -n "donner le nom de la 1er image avec le chemin si necesssaire "
read image1
echo -n "donner le nom de la 2em image avec le chemin si necesssaire "
read image2
echo -n "donner le nom du fichier de sortie "
read image3
echo -n "Voulez-vous modifier la taille o/n "
read modifie
case $modifie in
N|n)
montage -geometry +1+1 $image1 $image2 $image3
gpicview $image3 &
;;
O|o)
echo -n " donner la taille de sortie ex:800x600(donnera 1600x600) "
read taille
echo -n " une bordure o/n "
read reponse
case $reponse in
O|o )
bordure=4+4
taille1=$taille+$bordure
;;
N|n)
taille1=$taille
;;
*)
;;
esac
montage -geometry $taille1 $image1 $image2 $image3
gpicview $image3 &
;;
*)
;;
esac[/code]
de plus je me suis un peu amuser avec le code …
au fait mettez le script dans le répertoire ou sont les photos c’est plus rapide .
a+
Salut, je suis en première année d’iut info et on a débuté les script bash =)
Je trouve ce langage de programmation très interessant et bien sur il faut que je m’entraine, je ne m’aitrise rien du tout, j’ai pris mes repère dans le langage C sa fait déjà un moment et du coup j’ai tendance à oublier quelques fonctionnalité du bash.
Je post donc un script très basique car ce n’est que mon premier script =) mais qui peut s’avéré utile si on veux modifier l’extension de plusieurs voir d’un seul fichier.
[code]#!/bin/bash
if [ ! $3 ]
then
echo Le nombre de paramètre n"’"pas suffisant.
exit 1
fi
ext=$3
if [ .${ext##*.} != $1 ]
then
echo Extension du paramètre 3 non valide
exit 2
fi
ancext=$1
nouvext=$2
while test $3
do
if test -f $3
then
nomseul=basename $3 $ancext
if test -f $nomseul$nouvext
then
while [ -z $choix ] || [ $choix != ‘y’ ] || [ $choix != ‘n’ ]
do
echo le fichier à renommer existe deja par conséquent l"’"ancien fichier sera ecrasé.\nVoulez vous vraiment continuer (y|n)
read -p '> ’ choix
if [ $choix = "y" ]
then
mv $nomseul$ancext $nomseul$nouvext
shift
break
elif [ $choix = "n" ]
then
echo Ce paramètre est ignoré
shift
break
fi
done
else
mv $nomseul$ancext $nomseul$nouvext
shift
fi
else
echo Attention $3 n"'"existe pas! Par conséquent, ce paramètre est ignoré
shift
continue
fi
done[/code]
Après je ne sait pas, j’ai peut être oublié des sécurités, mais personnellement je n’en voit pas d’autre à rajouter.
Maintenant je ne pense pas que vous ayez besoin de commentaire pour ça, il est très court et très simple, si vous avez des avis dessu hésitez pas, je compte faire beaucoup de bash ce week end.
Bon courage pour les études.
Si le but de ton script est de découvrir le bash, alors c’est bien.
Si le but est de renommer plusieurs fichiers, tu peux faire la même chose en une seule ligne avec la commande : find
C’est juste un avis qui n’engage que moi…
Salut,
Vieux et dépassé, j’ai besoin de savoir : L’IUT c’est la classe après le cm1 ?
Parce que je trouve qu’il est drolement doué en informatique pour un enfant de cet age là.
Elève Ezano vous me conjuguerez le verbe “aitriser” à tous les temps