Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 smile

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 ...
cool


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) mad

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.bin

Puis 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)

silence a écrit :

É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)

wilituning a écrit :

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 wink ), 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