Pages : 1
#1 Le 07/12/2005, à 04:57
- jrev
compteur internet (résolu)
Bonjour à tous,
Je suis sur tiscali forfait illimité de 5h du matin à 17 h plus 15 heures à utiliser en dehors de ces heures et le dimanche.
Depuis le regroupement tiscali/alice je ne peux plus consulter ma consommation Internet
Existe-t-il un compteur de temps sous Linux que je pourrais déclencher quand je suis sur une plage de temps non illimité pour savoir où j'en suis ?
Merci de vos réponses
Dernière modification par jrev (Le 23/03/2007, à 20:37)
Mal nommer les choses, c'est ajouter au malheur du monde
Hors ligne
#2 Le 08/12/2005, à 09:43
- jrev
Re : compteur internet (résolu)
Personne n'utilise de compteur ?
sous win$ je me souviens ...
Mal nommer les choses, c'est ajouter au malheur du monde
Hors ligne
#3 Le 03/01/2006, à 15:45
- silence
Re : compteur internet (résolu)
Bonjour,
Je suis en train de travailler sur un tel compteur,
spécialement pour tiscali/alice d'ailleurs qui semble vouloir faire preuve de malhonnêteté. (ma facture de décembre est délirante)
Ce sera un petit script shell qui lancera la communication lui même (par pon) et comptera les heures hors forfait. Je pense mettre en option une coupure automatique de la connexion (par poff) dès que les quinze heures sont dépassées. Ceci dit, je ne suis pas programmeur et il me faut un peu de temps pour m'en occuper...
Si quelqu'un a entendu parler d'un regroupement des consommateurs d'alice/tiscali, il peut mettre un petit mot par ici... Ils se moquent de nous.
En tout cas Jrev, je te poste le programme quand il est prêt.
A+
Hors ligne
#4 Le 03/03/2007, à 19:08
- spip59
Re : compteur internet (résolu)
je vois que le problème n'est pas nouveau. Je n'ai pas trouvé avec l'aide de Synaptic de logiciels dans les différents dépôts qui nous aideraient.
J'en ai trouvé un sur le net en freeware (choisir la version 1.0a), mais je bloque à l'installation, je ne sais donc pas ce qu'il vaut. source : http://tinejava.est-ici.org/
dans la partie installation pour nux, il est dit :
Installation de Comptine Java sous Linux
Comptine Java est une archive auto-extractible. Executer simplement le programme -tinejava_linux.bin- sous X11.Par exemple:
$
$ sh tinejava_linux.binPuis suivre les instructions a l'ecran.
En lisant la documentation "Simple comme Linux", j'ai exécuté la ligne de commande avec sudo, et voici le résultat :
$ sudo sh /../tinejava_linux.bin
Password:
InstallAnywhere is preparing to install...
/../tinejava_linux_001.bin: line 126: 9302 Erreur de segmentation dd if=$0 of=$installzippath bs=$BLOCKSIZE skip=$ARCHSTART count=$ARCHBLOCKS >/dev/null 2>/dev/null
Please choose a Java virtual machine to run this program.
(These virtual machines were found on your PATH)
---------------------------------------------------------
1: /usr/bin/java
2: /usr/bin/java
3: Exit.
Please enter your selection (number):
1
et puis plus rien ne se passe... Je regarde à tout hasard dans les menus, si ce programme apparaît, il n'en est rien. Comme c'est le tout premier programme que j'installe sans synaptic, je ne sais pas quoi faire de plus. est-ce moi qui ai fait une erreur ? ou est-ce le programme d'installation qui a un bug ?
Si quelques-uns parmi vous, intéressés par ce programme, pouvaient l'installer et me dire s'il rencontre ce genre de problème...
#5 Le 04/03/2007, à 16:34
- silence
Re : compteur internet (résolu)
Bonjour spip59!
C'est la première fois que je vois un .bin pour installer un logiciel sous linux. Ça ne m'inspire pas énormément confiance... En général, on utilise la commande "make install" qui va lire les informations nécessaires dans un fichier présent dans le dossier du programme à installer qui s'appelle "makefile".
⇒ En lisant ce fichier on sait quoi est installé et ou...
Éxecuter un binaire inconnu, surtout avec les droits d'administration, c'est ouvrir la porte à bien des dangers.
Par exemple cette ligne "dd if=$0 of=$install":
si les variables sont assignées ainsi: $0=/dev/null et $install=/dev/hda1, le programme efface la première partition du disque dur...
Bref.
J'ai vu sur un autre post que Jrev avait changé d'adonnement internet, ce qui est aussi mon cas. Je n'ai donc pas posté mon programme, mais il est prêt, et selon mon souvenir il fonctionnait.
Ce programme calcule la durée de la connection hors forfait pour un abonnement non adsl. Il inscrit dans un fichier la date et l'heure du début et de la fin de chaque connection, et calcule à la demande le nombre d'heures connectées hors des périodes gratuites. Il faut le lancer à la place du programme qu'on utilise généralement pour se connecter et se déconnecter à internet (généralement "pon" et "poff"), il assure lui-même la connection et la déconnection.
Cela fait un an que je ne me suis pas servi de ce programme. Je ne suis pas certain qu'il fasse bien ce qu'on lui demande de faire: étudie le. Je te le poste surtout au cas ou il pourrait t'aider à faire quelque chose qui correspondrait plus à tes besoins.
Bon courrage!
#! /bin/bash
## CALICE
##
## CALCUL pour ALICE
##
##Inscrit dans le fichier CALISTE la liste des connections et déconnections au net
##Calcule à la demande le temps connecté hors forfait
##
##UTILISATION
## Inscrivez vos variables dans le section "indiquez ici" du programme
## Connection au net en tapant "calice"
## Déconnection en tapant "calice" aussi
## Calcul de la consommation hors forfait en cours avec "calice -c"
## Calcul de la consommation hors forfait d'un autre mois avec
## "calice -d /adresse/du/fichier
## Affiche la liste CALISTE avec "calice -l"
##
##Pour de l'aide taper "caliste -h"
##
## ATTENTION
##CALICE ne s'aperçoit pas qu'une connection ou une déconnection à eu lieu
##si elle n'a pas été appelée par calice
##En cas de déconnection accidentelle, éditer CALISTE à la main
##CALICE considère qu'on ne reste pas connecté plus de 24 heures d'affilée
##
#
#indiquez ici:
#
EDITEUR=gedit #Votre éditeur de texte préféré
PROG=pppd #Le programme actif lorsque la connection est active (pppd)
PROGON=pon #Le programme qui connecte (pon)
PROGOFF=poff #Le programme qui déconnecte (poff)
PROVIDER=tiscali #La commande pon est lancée par "pon provider": indiquez votre provider
LIEU=/home/toto/.divers/calice #dossier ou créer le fichier CALISTE
#Indiquez le chemin absolu (/home/bidule/.calice) par exemple
#afin que les communications de chaque utilisateur soient comptées
#N'oubliez pas de le rendre accessible en écriture
#au groupe des utilisateurs se connectant à internet
COLD='\033[1m' #Votre couleur préférée (ici un simple gras)
A1=5 #Heures illimitées entre A1 et B1
B1=17 #Chez Alice, A1=5 B1=17 : gratuit entre 5h et 17h
C=7 #Chiffre du jour hors forfait (7 pour Dimanche, 8 s'il n'y en a pas)
INITI=14 #Jour de réinitialisation mensuelle du forfait
#
#Les constantes
#Ne pas éditer
#
CALISTE="$LIEU"/caliste #fichier CALISTE
COLF='\033[0m' #code de fin pour les couleurs
A=$(echo "scale=0 ; ($A1 * 3600)" | bc) #Transfert des heures en secondes
B=$(echo "scale=0 ; ($B1 * 3600)" | bc)
#
#Réinitialisation mensuelle de CALISTE
#Fonction appellée à chaque connection ou déconnection
#
INIT () {
LIGNE=`wc -l $CALISTE | cut -d / -f 1 | sed -e "s/ *$//"` #extrait les différentes variables
#wc indique le nb de lignes et d'autres infos
#cut et sed extraient le seul nb de ligne
LIGNEP="$LIGNE"p #nécessaire pour la suite
JOUR=`sed -n $LIGNEP $CALISTE | cut -f 2 | cut -d / -f 1` #extraction du jour du mois de l'année
MOIS=`sed -n $LIGNEP $CALISTE | cut -f 2 | cut -d / -f 2` #de la dernière ligne de CALISTE
ANNEE=`sed -n $LIGNEP $CALISTE | cut -f 2 | cut -d / -f 3`
M=`date +%m` #Date du jour
J=`date +%d`
Y=`date +%Y`
MOIS1=$(($MOIS + 1 ))
ANNEE1=$(($ANNEE + 1))
#mini fonction qui évite la redite
CHANGE () {
echo "calice change de caliste" ; mv $CALISTE "$LIEU"/jusque"$INITI"_"$MOIS"_"$ANNEE"
}
#comparativement à la dernière connection:
if [ "$M" -eq "$MOIS" ] && [ "$J" -ge "$INITI" ] && [ "$JOUR" -lt "$INITI" ]
#Si on doit ré-initialiser le même mois
then
CHANGE
fi
if [ "$M" -eq "$MOIS1" ] && [ "$J" -ge "$INITI" ] #si on doit réinitialier après le nouveau mois
then
CHANGE
fi
if [ "$Y" -eq "$ANNEE1" ] && [ "$J" -ge "$INITI" ] #si on doit ré-initialiser après le nouvel an
then
CHANGE
fi
if [ "$M" -gt "$MOIS1" ] #si la dernière connection date de plus d'un mois
then
CHANGE
fi
}
#
#Fonction appelée lorsqu'on se déconnecte par calice
#
FIN () {
echo "Inscription sur $CALISTE de l'heure de fin de session"
HPOFF=`date +%u" "%d/%m/%Y" "%R`
echo " $HPOFF" >> $CALISTE
exit 0
}
#
#Fonction appelée pour se connecter ou se déconnecter
#
DEBUT () {
if [ -n "`pidof $PROG`" ]
then
echo "Déconnection en cours"
$PROGOFF $PROVIDER
FIN
else
HPON=`date +%u" "%d/%m/%Y" "%R`
echo -n "$HPON" >> $CALISTE
echo "Connection en cours"
$PROGON $PROVIDER
exit 0
fi
}
#
#Fonction affichant l'aide
#
HELP () {
echo -e "
$COLD CALICE
Calcul pour alice
$COLF
"$COLD"calice $COLF
Connecte ou déconnecte à internet selon l'état actuel de la connection.
"$COLD"calice -c $COLF
Calcule les communications hors forfait du mois en cours.
"$COLD"calice -C /adresse/du/fichier $COLF
Calcule les communications hors forfait du fichier nommé en argument.
"$COLD"calice -l $COLF
Affiche la liste de toutes les communications.
"$COLD"$CALISTE $COLF
Contient la liste de toutes les communications.
Ce fichier à le format suivant:
$COLD J1 D1 H1 J2 D2 H2 $COLF
$COLD 1: $COLF Connection $COLD 2: $COLF Déconnection
$COLD J: $COLF Jour de la semaine (de 1 à 7)
$COLD D: $COLF Date
$COLD H: $COLF Heure
Un complément d'information est donné en en-tête du programme"
}
#
#Fonction calculant les heures hors forfait consommées
#A mon avis on devrait pouvoir faire bien plus simple
# Mais comment?
#
CALCUL () {
echo $1
CALISTE=$1
LIGNE=`wc -l $CALISTE | cut -d / -f 1 | sed -e "s/ *$//"`
HF=0 #initialise la variable du temps hors forfait total
until [ "$LIGNE" = "0" ]
do
SAV=0 ; SAV2=0 ; SAP=0 ; SAP2=0 ; HF1=0 ; HF2=0 #ré-initialisation des variables
#SAP secondes avant connection
#SAV2 secondes entre la déconnection et $A si on déconnecte avant $A
#SAP secondes aprés connection
#SAP2 seconds entre $B et la connection si on connecte après $B
#HF1 secondes hors forfait en cas normal
#HF2 secondes hors forfait en cas de jour férié
LIGNEP="$LIGNE"p #nécessaire pour sed
echo -e ""$COLD"lecture de la ligne $LIGNE $COLF"
JON=`sed -n $LIGNEP $CALISTE | cut -f 1` #extrait les différentes variables
JOF=`sed -n $LIGNEP $CALISTE | cut -f 4`
DATON=`sed -n $LIGNEP $CALISTE | cut -f 2`
DATOF=`sed -n $LIGNEP $CALISTE | cut -f 5`
HON=`sed -n $LIGNEP $CALISTE | cut -f 3 | cut -d : -f 1`
MON=`sed -n $LIGNEP $CALISTE | cut -f 3 | cut -d : -f 2`
HOF=`sed -n $LIGNEP $CALISTE | cut -f 6 | cut -d : -f 1`
MOF=`sed -n $LIGNEP $CALISTE | cut -f 6 | cut -d : -f 2`
SON=$(echo "scale=0 ; ($HON * 3600 + $MON * 60 )" | bc) #Transfère le temps en secondes
SOF=$(echo "scale=0 ; ($HOF * 3600 + $MOF * 60 )" | bc) #bc permet de faire du calcul avec des décimales
#Initialisation des variables selon les heures de connection et de déconnection
#Prise en compte du jour hors forfait
if [ "$SON" -lt "$A" ] #si connection avant $A
then
echo "Connecté avant $A1 heure"
SAV=$(echo "scale=0 ; ($A - $SON)" | bc)
else
SAV=0
fi
if [ "$SON" -ge "$B" ] # si connection après $B
then
echo "Connecté après $B1 heure"
SAP2=$(echo "scale=0 ; ($SON - $B) " | bc)
else
SAP2=0
fi
if [ "$JON" -eq "$JOF" ] #si on connecte et déconnecte le même jour
then
echo "connecté et déconnecté le même jour"
if [ "$JON" -eq "$C" ] #si on est dimanche
then
echo "Ce jour est un jour hors forfait"
HF2=$(($SOF - $SON))
else
if [ "$SOF" -lt "$A" ] #si déconnection avant $A
then
echo "Déconnecté avant $A1 heure"
SAV2=$(echo "scale=0 ; ($A - $SOF)" | bc)
else
SAV2=0
fi
if [ "$SOF" -ge "$B" ] #si déconnection après $B
then
echo "Déconnecté après $B1 heure"
SAP=$(echo "scale=0 ; ($SOF - $B) " | bc)
else
echo "Déconnecté avant $B1 heure"
SAP=0
fi
fi
else
echo -e "Calice suppose que la déconnection a eu lieu le lendemain de la connection"
SAV2=0
if [ "$SOF" -lt "$A" ] #si déconnection avant $A le lendemain
then
echo "Déconnecté avant $A1 heure le lendemain"
if [ "$JON" -eq "$C" ] #si connection le jour férié
then
echo "Connecté un jour hors forfait"
HF2=$(echo "scale=0 ; (86400 - $SON + $SOF)" | bc)
else
SAP=$(echo "scale=0 ; (86400 - $B + $SOF )" | bc)
fi
else
if [ "$SOF" -ge "$B" ] #si déconnection après $B le lendemain
then
echo "Déconnecté après $B1 heure le lendemain"
if [ "$JON" -eq "$C" ] #si connection le jour férié
then
echo "Connecté un jour hors forfait"
HF2=$(echo "scale=0 ; (86400 - $SON + $A + $SOF - $B)" | bc)
else
if [ "$JOF" -eq "$C" ] #si déconnection le jour férié
then
echo "Déconnecté un jour hors forfait"
HF2=$(echo "scale=0 ; (86400 - $B + $SOF - $SAP2 + $SAV)" | bc)
else
SAP=$(echo "scale=0 ; (86400 - $B +$A + $SOF -$B)" | bc)
fi
fi
else #si déconnection avant $B le lendemain et après $A
if [ "$JON" -eq "$C" ] #si connection le jour férié
then
echo "Connecté un jour hors forfait"
HF2=$(echo "scale=0 ; (86400 - $SON +$A)" | bc)
else
if [ "$JOF" -eq "$C" ] #si déconnection le jour férié
then
echo "Déconnecté un jour hors forfait"
SAP=$(echo "scale=0 ; (86400 - $B + $SOF)" | bc)
else
SAP=$(echo "scale=0 ; (86400 - $B + $A)" | bc)
fi
fi
fi
fi
fi
SAV=$(echo "scale=0 ; ($SAV - $SAV2)" | bc)
SAP=$(echo "scale=0 ; ($SAP - $SAP2)" | bc)
HF1=$(echo "scale=0 ; ($SAP + $SAV)" | bc)
if [ "$HF2" -eq "0" ]
then
echo -e " $COLD le temps dépassé ligne $LIGNE est de $HF1 secondes $COLF"
HF=$(echo "scale=0 ; ($HF + $HF1)" | bc)
else
echo -e " $COLD le temps dépassé ligne $LIGNE est de $HF2 secondes $COLF"
HF=$(echo "scale=0 ; ($HF + $HF2 )" | bc)
fi
LIGNE=$(($LIGNE - 1 ))
done
TH=$(echo "scale=0 ; ($HF / 3600)" | bc) #transfert des secondes en heures et minutes
TH1=$(echo "scale=6 ; ($HF / 3600)" | bc)
TM1=$(echo "scale=6 ; ($TH1 - $TH)" | bc)
TM=$(echo "scale=6 ; ($TM1 * 60)" | bc)
TM=`echo $TM | cut -d . -f 1`
echo -e "
$COLD Le temps dépassé total est de $HF secondes soit $TH heures $TM minutes $COLF
"
}
#
#Début du programme
#
if [ -z "$1" ] # si il n'y a pas d'options
then
INIT
DEBUT
else
while getopts "cd:lih" Option; #si il y a des options
do
case $Option in
c) CALCUL $CALISTE ;; #calcule la durée de la connection hors forfait
d) CALCUL $OPTARG ;; #idem mais pour un autre mois
l) $EDITEUR $CALISTE & ;; #affiche caliste
*) HELP ;; # donne de l'aide
esac
done
fi
Dernière modification par silence (Le 04/03/2007, à 16:37)
Hors ligne
#6 Le 04/03/2007, à 16:46
- wilituning
Re : compteur internet (résolu)
mdr il y en a qui n'ont pas encore l'adsl
c'est a peine penssable
surtout que l'ont se rapproche de plus en plus vers la fibre optique
Ra je rêve quand la fibre viendra dans le sud et que j'aurais enfin mon serveur
Hors ligne
#7 Le 05/03/2007, à 01:25
- vvf
Re : compteur internet (résolu)
Éxecuter un binaire inconnu, surtout avec les droits d'administration, c'est ouvrir la porte à bien des dangers.
Par exemple cette ligne "dd if=$0 of=$install":
si les variables sont assignées ainsi: $0=/dev/null et $install=/dev/hda1, le programme efface la première partition du disque dur...Bref.
je te remercie silence pour tes explications. En te lisant, j'ai l'impression d'avoir fait une grosse bêtise en voulant installer un fichier .bin, non ? Ce programme, je l'ai trouvé via des sites qui diffusent des applications (Logitheque.com, zdnet de mémoire), il n'était donc pas complétement inconnu. Mais je me méfierai un peu plus dorénavant.
Concernant ton programme, je t'avoue que le bash est pour moi complétement étranger, même si j'apprécie le geste !
Kubuntu Desktop 14.04 64 Bits
Hors ligne
#8 Le 05/03/2007, à 01:25
- vvf
Re : compteur internet (résolu)
mdr il y en a qui n'ont pas encore l'adsl
c'est a peine penssable
oh, tu sais, wilituning, je ne trouve pas drôle le fait que moi et tant d'autres sommes encore en bas-débit. Car je te rappelle que l'ADSL a un coût et que nous n'avons pas tous les moyens d'avoir le choix comme toi. Je te fais une démonstration, pour être plus clair :
chez orange
connexion bas-débit 30h : 10€ / mois
connexion ADSL 1 megamax : 24.90€ / mois
sur 12 mois, la différence s'élève à 178.8 € ( =12*(24.9 - 10) ). Cela reprèsente une certaine somme pour les gens modeste.
Dernière modification par spip59 (Le 05/03/2007, à 17:22)
Kubuntu Desktop 14.04 64 Bits
Hors ligne
#9 Le 05/03/2007, à 20:59
- silence
Re : compteur internet (résolu)
Bonjour!
Spip59,
SI tu ne t'es pas encore plongé dans le bash (ça ne saurait tarder ), tu peux essayer quand même mon programme.
1) Tu le copies dans un fichier, par exemple /home/toi/calice
2) Tu modifies la section "indiquez ici" du programme:
Notes sur "pon" et "poff":
Ce sont des programmes qui permettent d'ouvrir une connection internet depuis la console (et donc aussi depuis un script shell).
Si tu ne les utilises pas déjà, il faut configurer ppp. Il y a un tutoriel ici:
http://doc.ubuntu-fr.org/materiel/modem … =pppconfig
3) Tu tapes dans un terminal "chmod +x ./calice" ⇒ ça le rend executable.
4) Maintenant quand tu veux démarrer une connection internet, tu tapes "./calice" dans un terminal. Pour arreter la connection, tu tapes aussi "./calice". Quand tu veux savoir combien de temps tu t'es connecté dans le mois, tu tapes: "./calice -c".
5) Si jamais tu oublies de te déconnecter avant de clore ta session, le fichier dans lequel est indiqué l'heure de déconnection est corrompu (l'heure de déconnection n'est pas indiqué justement...) Il te faut alors le modifier à la main.
Je ne partages pas tout à fait ton argument économique à propos de l'adsl:
Avec un accès internet à 10€ par mois, une ligne téléphonique france telecom et les consommations qui vont avec, ma facture s'élevait à une quarantaine d'euros mensuels. Avec le dégroupage total, elle oscille entre 30 et 33€...
Mais bon le dégroupage total n'est pas disponible partout.
Hors ligne
#10 Le 07/03/2007, à 21:59
- vvf
Re : compteur internet (résolu)
meci silence! je ferai des essais ce week-end.
Kubuntu Desktop 14.04 64 Bits
Hors ligne
Pages : 1