|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
SYSTÈME SEEN
Information sur la source
Description
Voilà un petit système de seen que je viens de coder, petit truc tout simple mais ou j'ai appris pas mal de chose surtout au niveau du write + read.
En gros petit code de débutant pour apprendre et franchement pas vraiment utile lol mais je le post ici, pour m'aider a des amélioration / optimisation :)
Source
- ; Système de Seen ;
- ; Par Niamor ;
- ; Version 1.0 ;
- ; MAJ 21/10/08 ;
-
- on *:LOAD:{
- echo -a 10The system has been 4installed !
- echo -a 10Thank you for having taken :D
- hadd -m seen_v1.0 language default
- hadd -m seen_v1.0 trigger Off
- }
-
- on *:UNLOAD:{
- if ($hget(seen_v1.0,language) == fr) {
- echo -a 10Il ne vous a pas plus ?
- echo -a 10Envoyez un petit mail pour toute améliorations que vous aimeriez voir.
- echo -a 4niamor@stream-animation.com
- }
- else {
- echo -a 10He has not given you more ?
- echo -a 10Send a mail to any improvements you'd like.
- echo -a 4niamor@stream-animation.com
- }
- if ($hget(seen_v1.0)) hfree seen_v1.0
- .remove scripts\seen_v1.0\seen_v1.0_hashtable.ini
- }
-
- on *:INPUT:#:{
- if ($1 == +seen) {
- if ($nick == $2) {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 msg # 10[7SEEN10]5 $nick se recherche
- else .timer 1 1 msg # 10[7SEEN10]5 $nick research is
- }
- elseif (!$2) {
- if ($hget(seen_v1.0,language) == fr) {
- .timer 1 1 .notice $nick 10[7SEEN10]3 Commandes :
- .timer 1 2 .notice $nick 3Savoir depuis quand s'est déconnecté une personne :4 +seen <nick>
- .timer 1 3 .notice $nick 3Changer la langue de Seen :4 +seen_lang <lang>
- .timer 1 4 .notice $nick 3Trigger +seen :4 +seen_trigger <on/off>
- .timer 1 5 .notice $nick 3Connaitre la version de Seen :4 +seen_version
- .timer 1 6 .notice $nick 3Crédits :4 +seen_credits
- }
- else {
- .timer 1 1 .notice $nick 10[7SEEN10]3 Commands :
- .timer 1 2 .notice $nick 3Know how long a person has disconnected :4 +seen <nick>
- .timer 1 3 .notice $nick 3Changing the language Seen :4 +seen_lang <lang>
- .timer 1 4 .notice $nick 3Trigger +seen :4 +seen_trigger <on/off>
- .timer 1 5 .notice $nick 3About version Seen :4 +seen_version
- .timer 1 6 .notice $nick 3Credits :4 +seen_credits
- }
- }
- else {
- hadd -m seen_v1.0 chan $chan
- hadd -m seen_v1.0 nick $2
- hadd -m seen_v1.0 whois 1
- whois $2
- }
- }
- elseif ($1 == +seen_lang) {
- if ($2 == $hget(seen_v1.0,language)) {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Vous utilisez déjà cette langue.
- else .timer 1 1 .notice $nick 10[7SEEN10]3 You already use this language.
- }
- elseif ($2 == default || $2 == en && $2 != $hget(seen_v1.0,language)) {
- .timer 1 1 .notice $nick 10[7SEEN10]3 English language.
- hadd -m seen_v1.0 language default
- }
- elseif ($2 == fr && $2 != $hget(seen_v1.0,language)) {
- .timer 1 1 .notice $nick 10[7SEEN10]3 Langage Français.
- hadd -m seen_v1.0 language fr
- }
- elseif (!$2) {
- if ($hget(seen_v1.0,language) == fr) {
- .timer 1 1 .notice $nick 10[7SEEN10]3 Langue actuelle :4 $hget(seen_v1.0,language)
- .timer 1 2 .notice $nick 10[7SEEN10]3 Langage disponible :
- .timer 1 3 .notice $nick 3default :4 Change la langue en Anglais.
- }
- else {
- .timer 1 1 .notice $nick 10[7SEEN10]3 Current language :4 $hget(seen_v1.0,language)
- .timer 1 2 .notice $nick 10[7SEEN10]3 Language available :
- .timer 1 3 .notice $nick 3fr :4 Change the language in French.
- }
- }
- else {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Langage inconnu.
- else .timer 1 1 .notice $nick 10[7SEEN10]3 Unknown language.
- }
- }
- elseif ($1 == +seen_trigger) {
- if ($2 == $hget(seen_v1.0,trigger)) {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Le trigger est déjà $hget(seen_v1.0,trigger)
- else .timer 1 1 .notice $nick 10[7SEEN10]3 The trigger is already $hget(seen_v1.0,trigger)
- }
- elseif ($2 == on && $2 != $hget(seen_v1.0,trigger)) {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger On !
- else .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger On !
- hadd -m seen_v1.0 trigger On
- }
- elseif ($2 == off && $2 != $hget(seen_v1.0,trigger)) {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger Off !
- else .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger Off !
- hadd -m seen_v1.0 trigger Off
- }
- elseif (!$2) {
- if ($hget(seen_v1.0,language) == fr) {
- .timer 1 1 .notice $nick 10[7SEEN10]3 Actuellement :4 $hget(seen_v1.0,trigger)
- .timer 1 2 .notice $nick 10[7SEEN10]3 Option disponible :
- .timer 1 3 .notice $nick 3On :4 Active le trigger.
- .timer 1 3 .notice $nick 3Off :4 Désactive le trigger.
- }
- else {
- .timer 1 1 .notice $nick 10[7SEEN10]3 Currently :4 $hget(seen_v1.0,trigger)
- .timer 1 2 .notice $nick 10[7SEEN10]3 Option available :
- .timer 1 3 .notice $nick 3On :4 Activates the trigger.
- .timer 1 3 .notice $nick 3Off :4 Disables the trigger.
- }
- }
- else {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Option inconnu.
- else .timer 1 1 .notice $nick 10[7SEEN10]3 Option unknown.
- }
- }
- elseif ($1 == +seen_version) .timer 1 1 msg # 10[7SEEN10]3 Version 1.0 Final
- elseif ($1 == +seen_credits) {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 msg # 10[7SEEN10]3 Crédits : Codé par Niamor, aide de Flyswat. Site : www.stream-animation.com
- else .timer 1 1 msg # 10[7SEEN10]3 Credits : Coded by Niamor, using FlySwat. Website : www.stream-animation.com
- }
- }
-
- on *:TEXT:*:#:{
- if ($1 == +seen && $hget(seen_v1.0,trigger) == On) {
- if ($nick == $2) {
- if ($hget(seen_v1.0,language) == fr) .timer 1 1 msg # 10[7SEEN10]5 $nick se recherche
- else .timer 1 1 msg # 10[7SEEN10]5 $nick research is
- }
- elseif (!$2) {
- if ($hget(seen_v1.0,language) == fr) {
- .notice $nick 10[7SEEN10]3 Commandes :
- .notice $nick 3Savoir depuis quand s'est déconnecté une personne :4 +seen <nick>
- .notice $nick 3Connaitre la version de Seen :4 +seen_version
- .notice $nick 3Crédits :4 +seen_credits
- }
- else {
- .notice $nick 10[7SEEN10]3 Commands :
- .notice $nick 3Know how long a person has disconnected :4 +seen <nick>
- .notice $nick 3About version Seen :4 +seen_version
- .notice $nick 3Credits :4 +seen_credits
- }
- }
- else {
- hadd -m seen_v1.0 chan $chan
- hadd -m seen_v1.0 nick $2
- hadd -m seen_v1.0 whois 1
- whois $2
- }
- }
- elseif ($1 == +seen_version && $hget(seen_v1.0,trigger) == On) msg # 10[7SEEN10]3 Version 1.0 Final
- elseif ($1 == +seen_credits && $hget(seen_v1.0,trigger) == On) {
- if ($hget(seen_v1.0,language) == fr) msg # 10[7SEEN10]3 Crédits : Codé par Niamor, aide de Flyswat. Site : www.stream-animation.com
- else msg # 10[7SEEN10]3 Credits : Coded by Niamor, helps of FlySwat. Website: www.stream-animation.com
- }
- }
-
- raw *:*:{
- if ($numeric == 311) {
- if ($hget(seen_v1.0,whois)) {
- if ($hget(seen_v1.0,language) == fr) msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) est actuellement connecté sur $network !
- else msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) is currently logged on $network !
- }
- hadd -m seen_v1.0 whois 0
- }
- elseif ($numeric == 401) {
- if ($hget(seen_v1.0,whois)) {
- var %read = $read($+(scripts\seen_v1.0\,$network,_quit.log),s, $hget(seen_v1.0,nick))
- if ($hget(seen_v1.0,language) == fr) $iif((%read), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) a été vu pour la dernière fois sur $network il y a $duration($calc($ctime - %read)), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 Aucune information sur $hget(seen_v1.0,nick))
- else $iif((%read), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) was last seen on $network ago $duration($calc($ctime - %read)), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 No information on $hget(seen_v1.0,nick))
- }
- hadd -m seen_v1.0 whois 0
- }
- }
-
- on *:QUIT:{
- if ($read($+(scripts\seen_v1.0\,$network,_quit.log),s,$nick)) write $eval(-ds $+ $nick) $+(scripts\seen_v1.0\,$network,_quit.log)
- write $+(scripts\seen_v1.0\,$network,_quit.log) $nick $ctime
- }
-
- on *:NICK:{
- if ($read($+(scripts\seen_v1.0\,$network,_quit.log),s,$nick)) write $eval(-ds $+ $nick) $+(scripts\seen_v1.0\,$network,_quit.log)
- }
-
- on *:START:{
- hmake seen_v1.0 5
- hload -i seen_v1.0 scripts\seen_v1.0\seen_v1.0_hashtable.ini
- }
- on *:EXIT:/hsave -oi seen_v1.0 scripts\seen_v1.0\seen_v1.0_hashtable.ini
; Système de Seen ;
; Par Niamor ;
; Version 1.0 ;
; MAJ 21/10/08 ;
on *:LOAD:{
echo -a 10The system has been 4installed !
echo -a 10Thank you for having taken :D
hadd -m seen_v1.0 language default
hadd -m seen_v1.0 trigger Off
}
on *:UNLOAD:{
if ($hget(seen_v1.0,language) == fr) {
echo -a 10Il ne vous a pas plus ?
echo -a 10Envoyez un petit mail pour toute améliorations que vous aimeriez voir.
echo -a 4niamor@stream-animation.com
}
else {
echo -a 10He has not given you more ?
echo -a 10Send a mail to any improvements you'd like.
echo -a 4niamor@stream-animation.com
}
if ($hget(seen_v1.0)) hfree seen_v1.0
.remove scripts\seen_v1.0\seen_v1.0_hashtable.ini
}
on *:INPUT:#:{
if ($1 == +seen) {
if ($nick == $2) {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 msg # 10[7SEEN10]5 $nick se recherche
else .timer 1 1 msg # 10[7SEEN10]5 $nick research is
}
elseif (!$2) {
if ($hget(seen_v1.0,language) == fr) {
.timer 1 1 .notice $nick 10[7SEEN10]3 Commandes :
.timer 1 2 .notice $nick 3Savoir depuis quand s'est déconnecté une personne :4 +seen <nick>
.timer 1 3 .notice $nick 3Changer la langue de Seen :4 +seen_lang <lang>
.timer 1 4 .notice $nick 3Trigger +seen :4 +seen_trigger <on/off>
.timer 1 5 .notice $nick 3Connaitre la version de Seen :4 +seen_version
.timer 1 6 .notice $nick 3Crédits :4 +seen_credits
}
else {
.timer 1 1 .notice $nick 10[7SEEN10]3 Commands :
.timer 1 2 .notice $nick 3Know how long a person has disconnected :4 +seen <nick>
.timer 1 3 .notice $nick 3Changing the language Seen :4 +seen_lang <lang>
.timer 1 4 .notice $nick 3Trigger +seen :4 +seen_trigger <on/off>
.timer 1 5 .notice $nick 3About version Seen :4 +seen_version
.timer 1 6 .notice $nick 3Credits :4 +seen_credits
}
}
else {
hadd -m seen_v1.0 chan $chan
hadd -m seen_v1.0 nick $2
hadd -m seen_v1.0 whois 1
whois $2
}
}
elseif ($1 == +seen_lang) {
if ($2 == $hget(seen_v1.0,language)) {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Vous utilisez déjà cette langue.
else .timer 1 1 .notice $nick 10[7SEEN10]3 You already use this language.
}
elseif ($2 == default || $2 == en && $2 != $hget(seen_v1.0,language)) {
.timer 1 1 .notice $nick 10[7SEEN10]3 English language.
hadd -m seen_v1.0 language default
}
elseif ($2 == fr && $2 != $hget(seen_v1.0,language)) {
.timer 1 1 .notice $nick 10[7SEEN10]3 Langage Français.
hadd -m seen_v1.0 language fr
}
elseif (!$2) {
if ($hget(seen_v1.0,language) == fr) {
.timer 1 1 .notice $nick 10[7SEEN10]3 Langue actuelle :4 $hget(seen_v1.0,language)
.timer 1 2 .notice $nick 10[7SEEN10]3 Langage disponible :
.timer 1 3 .notice $nick 3default :4 Change la langue en Anglais.
}
else {
.timer 1 1 .notice $nick 10[7SEEN10]3 Current language :4 $hget(seen_v1.0,language)
.timer 1 2 .notice $nick 10[7SEEN10]3 Language available :
.timer 1 3 .notice $nick 3fr :4 Change the language in French.
}
}
else {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Langage inconnu.
else .timer 1 1 .notice $nick 10[7SEEN10]3 Unknown language.
}
}
elseif ($1 == +seen_trigger) {
if ($2 == $hget(seen_v1.0,trigger)) {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Le trigger est déjà $hget(seen_v1.0,trigger)
else .timer 1 1 .notice $nick 10[7SEEN10]3 The trigger is already $hget(seen_v1.0,trigger)
}
elseif ($2 == on && $2 != $hget(seen_v1.0,trigger)) {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger On !
else .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger On !
hadd -m seen_v1.0 trigger On
}
elseif ($2 == off && $2 != $hget(seen_v1.0,trigger)) {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger Off !
else .timer 1 1 .notice $nick 10[7SEEN10]3 Trigger Off !
hadd -m seen_v1.0 trigger Off
}
elseif (!$2) {
if ($hget(seen_v1.0,language) == fr) {
.timer 1 1 .notice $nick 10[7SEEN10]3 Actuellement :4 $hget(seen_v1.0,trigger)
.timer 1 2 .notice $nick 10[7SEEN10]3 Option disponible :
.timer 1 3 .notice $nick 3On :4 Active le trigger.
.timer 1 3 .notice $nick 3Off :4 Désactive le trigger.
}
else {
.timer 1 1 .notice $nick 10[7SEEN10]3 Currently :4 $hget(seen_v1.0,trigger)
.timer 1 2 .notice $nick 10[7SEEN10]3 Option available :
.timer 1 3 .notice $nick 3On :4 Activates the trigger.
.timer 1 3 .notice $nick 3Off :4 Disables the trigger.
}
}
else {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 .notice $nick 10[7SEEN10]3 Option inconnu.
else .timer 1 1 .notice $nick 10[7SEEN10]3 Option unknown.
}
}
elseif ($1 == +seen_version) .timer 1 1 msg # 10[7SEEN10]3 Version 1.0 Final
elseif ($1 == +seen_credits) {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 msg # 10[7SEEN10]3 Crédits : Codé par Niamor, aide de Flyswat. Site : www.stream-animation.com
else .timer 1 1 msg # 10[7SEEN10]3 Credits : Coded by Niamor, using FlySwat. Website : www.stream-animation.com
}
}
on *:TEXT:*:#:{
if ($1 == +seen && $hget(seen_v1.0,trigger) == On) {
if ($nick == $2) {
if ($hget(seen_v1.0,language) == fr) .timer 1 1 msg # 10[7SEEN10]5 $nick se recherche
else .timer 1 1 msg # 10[7SEEN10]5 $nick research is
}
elseif (!$2) {
if ($hget(seen_v1.0,language) == fr) {
.notice $nick 10[7SEEN10]3 Commandes :
.notice $nick 3Savoir depuis quand s'est déconnecté une personne :4 +seen <nick>
.notice $nick 3Connaitre la version de Seen :4 +seen_version
.notice $nick 3Crédits :4 +seen_credits
}
else {
.notice $nick 10[7SEEN10]3 Commands :
.notice $nick 3Know how long a person has disconnected :4 +seen <nick>
.notice $nick 3About version Seen :4 +seen_version
.notice $nick 3Credits :4 +seen_credits
}
}
else {
hadd -m seen_v1.0 chan $chan
hadd -m seen_v1.0 nick $2
hadd -m seen_v1.0 whois 1
whois $2
}
}
elseif ($1 == +seen_version && $hget(seen_v1.0,trigger) == On) msg # 10[7SEEN10]3 Version 1.0 Final
elseif ($1 == +seen_credits && $hget(seen_v1.0,trigger) == On) {
if ($hget(seen_v1.0,language) == fr) msg # 10[7SEEN10]3 Crédits : Codé par Niamor, aide de Flyswat. Site : www.stream-animation.com
else msg # 10[7SEEN10]3 Credits : Coded by Niamor, helps of FlySwat. Website: www.stream-animation.com
}
}
raw *:*:{
if ($numeric == 311) {
if ($hget(seen_v1.0,whois)) {
if ($hget(seen_v1.0,language) == fr) msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) est actuellement connecté sur $network !
else msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) is currently logged on $network !
}
hadd -m seen_v1.0 whois 0
}
elseif ($numeric == 401) {
if ($hget(seen_v1.0,whois)) {
var %read = $read($+(scripts\seen_v1.0\,$network,_quit.log),s, $hget(seen_v1.0,nick))
if ($hget(seen_v1.0,language) == fr) $iif((%read), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) a été vu pour la dernière fois sur $network il y a $duration($calc($ctime - %read)), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 Aucune information sur $hget(seen_v1.0,nick))
else $iif((%read), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 $hget(seen_v1.0,nick) was last seen on $network ago $duration($calc($ctime - %read)), msg $hget(seen_v1.0,chan) 10[7SEEN10]5 No information on $hget(seen_v1.0,nick))
}
hadd -m seen_v1.0 whois 0
}
}
on *:QUIT:{
if ($read($+(scripts\seen_v1.0\,$network,_quit.log),s,$nick)) write $eval(-ds $+ $nick) $+(scripts\seen_v1.0\,$network,_quit.log)
write $+(scripts\seen_v1.0\,$network,_quit.log) $nick $ctime
}
on *:NICK:{
if ($read($+(scripts\seen_v1.0\,$network,_quit.log),s,$nick)) write $eval(-ds $+ $nick) $+(scripts\seen_v1.0\,$network,_quit.log)
}
on *:START:{
hmake seen_v1.0 5
hload -i seen_v1.0 scripts\seen_v1.0\seen_v1.0_hashtable.ini
}
on *:EXIT:/hsave -oi seen_v1.0 scripts\seen_v1.0\seen_v1.0_hashtable.ini
Conclusion
Bah voilà j'ai tout dit, il n'est pas complètement fini j'aimerais ajouter plusieurs choses mais je ne sais pas encore comment m'y prendre lol
Exemple : Mémoriser quand une personne change de nick.
Historique
- 23 juillet 2008 17:16:07 :
- Maj hastables etc...
- 21 octobre 2008 17:33:37 :
- Mise à jour en version 1.0.
Support langue.
Manque toujours le changement de nick.
Sources du même auteur
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
installer un bot sur son canal [ par BlackWizzard ]
salut! tt le monde!je voudrais savoir comment instaler et administrer un bot sur un channel (le mien C #hackz sur irc.respublica.fr)...G deja un bot m
créer un bot sous quakenet [ par benlesurvivant ]
est-ce que kkun pourrais m'epliquer comment créer un bot sous quakenet. Merci d'avance :-)
je lance un site de scripts,addons et bots [ par sebbizet ]
voila je vient de faire une partit scripts,addons et bots dans mon site mais il manque de sourcesvp allez y et ceux ki font des addons, scripts et bot
Améliorer un bot pour un chan de clan counter-strike [ par JeKto ]
Salut !Je voudrai améliorer mon bot pour mon clan j'ai dejà quelsues commandes TEXT mais je voudrai par exemple que le bot guarde en memoire le nick d
Serveur IRC [ par Delirium ]
Hello :)J'ai crée un nouveau petit reseau IRC dont le but est^la convivialité !!pour le moment il n'est pas encore "super" fréquanté mais avec des gen
Addons 4 newbie "how to" [ par kangun ]
Bonjour tlmje suis un vrai newbie sur mirc et je voudrais savoir comment on utilise les addons (installation, initialisation, ...)thx pour vos réponse
BoT Tid@m (NB s'abstenir ;) [ par Tidam ]
Voila C tre simple meme la reponse doit etre simple mais j'arrive po a trouver Tout ce que je ve c'est que quand qq'un me dit qqe chose le bot crée un
bot pickup [ par Goofa ]
Salut, je souhaite creer ou trouver un bot irc afin d'organiser des pickup , si qqn pouvais m'expliquer comment faire, thx.
-= Access à un Bot =- [ par Nancy ]
Salut la gang! Bon, j'ai un tit probleme :( J'aimerais faire une ligne de commande à mon bot pour ajouter quelqun automatiquement à mon Bot .Qqn pourr
voila wandoo bot www.demande-gev.fr.st [ par HatMan ]
vous avez fait une demande d'irix mais il ne veut pas de votre salon sur sont whoisfaite une demande de Gevwww.demande-gev.fr.stvoila alors si vous vo
|
Téléchargements
Logiciels à télécharger sur le même thème :
|