#informatique Bot Logged User list

Network: Zeolia
Modes: +nrt
Last Seen: 12 minutes ago
Topic: Canal d'aide informatique - Développement / Web / Windows - Pour les questions linux, rejoindre #linux
#3
Rank
11
Users

Channel Log Archive for #informatique

Prev
Next

* All times are UTC
Thursday, June 23, 2022
[05:22:32] * Amand quit (Quit: Connection closed for inactivity)
[05:23:02] * Artus set mode +l 7
[06:06:37] * CrazyCat[AFK] is now known as CrazyCat
[07:11:00] * Jarvis quit (Ping timeout: 180 seconds)
[07:11:35] * CrazyCat quit (Ping timeout: 180 seconds)
[07:12:04] * Artus set mode +l 5
[10:36:40] * Amand joined #informatique
[10:36:40] * [Guru] set mode +h Amand
[10:37:02] * Artus set mode +l 6
[10:38:37] % Amand hello
[11:01:35] * Jarvis joined #informatique
[11:02:02] * Artus set mode +l 7
[11:04:33] * CrazyCat quit (Quit: Connection closed)
[11:05:08] * CrazyCat joined #informatique
[11:05:08] * [Guru] set mode +o CrazyCat
[11:06:05] * Artus set mode +l 8
[12:02:09] * Jarvis is now known as Jarvis2
[12:05:43] * Jarvis2 is now known as Jarvis
[12:16:33] % Amand j'ai une base de donnée ou j'ai mis 4 champs en clef unique nick,username,ip,host
[12:17:14] % Amand par contre quand je me connecte avec le même nick,username,ip,host mais quand je change le realname
[12:17:34] % Amand il fait pas d'insertion ( j'utilise INSERT IGNORE )
[12:17:46] % Amand je crois que j'ai fait une erreur sur les clef unique
[12:22:55] @ CrazyCat Ben si la clé unique ne prends pas realname, il n'insère pas si l'enregistrement avec nick,username,ip,host existe déjà
[12:23:54] @ CrazyCat Et c'est un peu moche ce que tu fais là... Tu as 2 requêtes à entretenir
[12:27:30] % Amand ok donc je dois mettre la clef unique sur nick,username,ip,host,realname,webirc,sslco
[12:27:59] % Amand ah oui c'est beaucoup mieux comme ça
[12:36:55] % Amand j'ai une erreur qui ressort je dois à chaque fois vider ma table, quand je veux mettre une clef unique sur des champs qui étaient normaux
[12:37:14] % Amand à cause des duplicata il me retourne une erreur
[12:37:34] % Amand je dois d'abord supprimer les duplicatas et ensuite la rendre clef unique ou il y a une manipulation précise?
[12:41:29] @ CrazyCat Oui, tu es obligée de supprimer les doublons
[12:42:15] @ CrazyCat Maintenant, si c'est pour mettre une clé unique sur tout, autant tout enregistrer
[12:42:52] @ CrazyCat Et faire une requête avec un select distinct pour n'avoir qu'un enregistrement
[12:43:52] % Amand faut que je retrouve la requête pour supprimer les doublons je cherche j'ai un trou de mémoire
[12:45:20] @ CrazyCat En fait, tu te compliques la vie et en plus tu te retire des possibilités de tracking
[12:46:21] @ CrazyCat Tu enregistres à chaque connexion d'un utilisateur ?
[12:47:10] @ CrazyCat Je ne sais pas quel est le but de ce système, mais au lieu de le restreindre, rend le plus complet
[12:47:31] % Amand si il n'a pas subit de sanction et n'est pas en exception , oui j'enregistre
[12:48:00] % Amand je me fais la main, j'aurais besoin de ces compétences
[12:48:06] @ CrazyCat C'est quoi le but de cette base ?
[12:48:13] @ CrazyCat (je re dans 10 minutes)
[12:48:31] % Amand le but est seulement d'enregistrer les données de connexion d'un utilisateur dans une base de donnée
[12:56:07] % Amand ah j'avoue que si j'enregistre toutes les connexions et je fais pas un insert into pour en avoir qu'un seul
[12:56:20] % Amand je pourrais aussi mettre le nombre de connexion par exemple
[13:01:35] @ CrazyCat Clairement, je te conseille d'ajouter un champ datetime à ta base, et pourquoi pas aussi des champs du type "sanction" et "à surveiller" et de tout enregistrer
[13:06:15] % Amand clairement !
[13:06:30] % Amand oui en parlant de champ datetime je viens d'ajouter
[13:07:00] @ CrazyCat Pas timestamp, datetime
[13:07:23] % Amand j'ai la date sous cette forme : 2022-06-23 15:03:13
[13:07:30] % Amand ok
[13:07:48] @ CrazyCat timestamp est relativement dangereux: si tu fais un update d'un champ quelconque dans la table, le timestamp changera
[13:08:07] @ CrazyCat Alors que le datetime ne chanque que si tu l'update lui
[13:11:13] % Amand ok c'est bon à savoir
[13:11:31] @ CrazyCat Je me suis fait avoir une fois, j'ai plus jamais oublié :)
[13:12:59] % Amand ok je vais retirer toutes les clef unique et ajouté les champs
[13:13:29] % Amand par contre pour avoir le nombre de connexion , j'ai pas besoin d'ajouter un champ théoriquement
[13:13:42] % Amand une requête devrait crée la variable, si je ne dis pas de bêtise
[13:13:50] @ CrazyCat Tout à fait
[13:14:00] % Amand créer*
[13:14:11] % Amand ok je vais y aller étape par étape
[13:14:39] @ CrazyCat Je ne vois d'ailleurs pas quel champ tu pourrais ajouter où, vu que tu enregistre chaque connection, tu aurais toujours 1 dedans
[13:59:38] % Amand mais là du coup si je veux faire un distinct je peux pas faire un *
[13:59:51] % Amand le datetime ne sera pas le même, donc il affichera les doublons
[14:05:08] @ CrazyCat Oui, d'où l'intérêt de ne pa sprendre l'habitude du select * :)
[14:06:02] % Amand SELECT DISTINCT codepays,nick,username,ip,host,realname,webirc,sslco,suspect FROM logsusers ORDER BY time DESC
[14:06:49] % Amand par contre pour afficher le nombre de connexion
[14:06:57] % Amand oula faut que je me documente
[14:07:18] % Amand je pense qu'il doit y avoir un count à mettre
[14:07:28] % Amand avec un AS , faut que je regarde
[14:09:09] % Amand ah mais oui du coup mon champ datetime va retourner : 1/1/1970
[14:09:13] % Amand vu que je le selectionne pas
[14:09:25] % Amand je crois que j'ai une idée
[14:10:22] % Amand mais pour ça il va falloir que je crée une vue je pense que c'est obligatoire
[14:14:51] % Amand qu'est ce que tu en penses?
[14:15:27] % Amand nbc = nombre de connexion
[14:15:32] % Amand lasttime = le timestamp
[14:15:54] % Amand ensuite je fais appel la vue stats_connex au lieu de logsusers
[14:17:42] % Amand SELECT DISTINCT codepays,nick,username,ip,host,realname,webirc,sslco,suspect FROM stats_connex ORDER BY lasttime DESC
[14:17:57] % Amand pour afficher j'utiliserais stats_connex et lasttime
[14:18:04] % Amand là je théorise
[14:19:25] @ CrazyCat Pourquoi tu mets des alias sur tous les champs ?
[14:20:01] @ CrazyCat Et pourquoi un group by aussi énorme ?
[14:20:48] % Amand pour les récupérer dans ma requête non?
[14:20:50] % Amand je sais pas
[14:21:09] % Amand une théorie, en lisant la doc, peut être que je fait n'importe quoi
[14:22:42] @ CrazyCat Les alias ne servent que dans 2 cas: quand tu as 2 champs qui ont le même nom ou quand tu as une formule (comme max ou count)
[14:24:31] % Amand en plus même faire un distinct sur l'id, c'est pas logique
[14:24:34] % Amand l'id sera différent
[14:26:25] @ CrazyCat Oui
[14:26:35] % Amand compliqué
[14:26:51] @ CrazyCat Reprenons... Que veux tu compter ?
[14:27:11] % Amand le nombre de connexion fait par une même connexion
[14:27:21] % Amand faite*
[14:27:41] @ CrazyCat ok, donc le count(id) est la bonne option
[14:27:47] % Amand -e
[14:28:29] @ CrazyCat (j'imagine que "même connexion" est en fait "même nick" ou "même ip")
[14:29:02] @ CrazyCat Et tu veux aussi la date/heure de dernière connexion donc
[14:29:36] % Amand même nick,username,ip,host,realname,webirc,sslco,suspect (logiquement)
[14:29:48] % Amand heu non
[14:30:01] % Amand hm
[14:31:27] % Amand nick,ip
[14:31:32] @ CrazyCat Je ne vois pas l'intérêt du realname ni celui du suspect
[14:31:33] % Amand oui tu as raison
[14:31:39] % Amand les autres peuvent changer
[14:31:54] % Amand host sera le même vu que l'ip est la même
[14:31:57] % Amand pas besoin
[14:32:16] % Amand donc oui nick,username,ip
[14:32:49] @ CrazyCat Ok, donc: SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, nick, username, ip FROM logsusers GROUP BY nick, username, ip
[14:33:21] @ CrazyCat Tu peux ajouter d'autres champs dans ton select
[14:33:43] @ CrazyCat Et tu peux même faire: SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, * FROM logsusers GROUP BY nick, username, ip
[14:34:38] @ CrazyCat Par contre faire une vue là n'a à mon avis aucun intérêt
[14:36:22] % Amand il a pas l'air d'aimer le *
[14:36:46] @ CrazyCat il dit quoi ?
[14:37:12] @ CrazyCat Que les champs ne sont pas dans le group by ?
[14:38:05] % Amand SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, * FROM logsusers GROUP BY nick, username, ip ORDER BY lasttime
[14:38:21] % Amand Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '* FROM logsusers GROUP BY nick, username, ip ORDER BY lasttime'
[14:41:00] % Amand déjà le order by se met avant le group by
[14:41:01] @ CrazyCat Ah oui en effet
[14:41:12] @ CrazyCat Donc oublie le *
[14:41:58] @ CrazyCat Et le non, le order by va après
[14:42:19] @ CrazyCat tu fais un order sur ce qui est groupé
[14:42:31] @ CrazyCat tu ne groupes pas une liste ordonnée
[14:42:58] % Amand SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime FROM logsusers GROUP BY nick, username, ip ORDER BY lasttime DESC
[14:43:08] % Amand je ne peux pas utiliser le lasttime dans la requête ?
[14:43:19] % Amand du coup je peux faire
[14:43:33] % Amand SELECT COUNT(DISTINCT id) AS nbc, MAX(time), time AS lasttime FROM logsusers GROUP BY nick, username, ip ORDER BY time DESC
[14:43:52] % Amand SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, time FROM logsusers GROUP BY nick, username, ip ORDER BY time DESC
[14:43:55] % Amand plutôt
[14:44:12] @ CrazyCat P-e que MAX(time) peut fonctionner dans le order
[14:44:58] % Amand SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, time FROM logsusers GROUP BY nick, username, ip ORDER BY time DESC
[14:45:05] % Amand ça a l'air ok je test
[14:45:29] @ CrazyCat hum... Tu risques d'avoir des surprises
[14:46:15] % Amand il manque les champs à select
[14:48:34] % Amand SELECT COUNT(DISTINCT id) AS nbc, MAX(time) AS lasttime, codepays, nick, username, ip, host, realname, webirc, sslco, suspect, time FROM logsusers GROUP BY nick, username, ip ORDER BY time DESC
[14:48:57] % Amand c'est tout bon
[14:49:05] % Amand merci CrazyCat ! encore une fois lol
[14:49:51] @ CrazyCat De nada
[14:50:14] % Amand les gens viennent me voir en pv
[14:50:24] % Amand j'ai l'impressions qu'ils ont honte de parler sur #eggdrop
[14:50:39] @ CrazyCat Toto ?
[14:50:44] % Amand oui
[14:51:07] @ CrazyCat J'ai arrété de lui répondre, il se tourne vers toi
[14:51:14] @ CrazyCat Envoie le chier :)
[15:01:16] @ CrazyCat Bon, c'est l'heure d'aller boire un coup pour moi
[15:01:56] % Amand bon apéro, à tout à l'heure merci encore
[15:03:28] @ CrazyCat Merci, @++
[15:04:31] * CrazyCat is now known as CrazyCat[AFK]
[19:54:10] * Amand quit (Quit: Connection closed for inactivity)
[19:55:02] * Artus set mode +l 7
[20:04:25] * [Guru] set mode +h Amand
[20:04:25] * Amand joined #informatique
[20:05:02] * Artus set mode +l 8
Prev
Next