Monitor connection
Proposé par nabouill

le samedi 04 septembre 2010 à 01h 15mn 54s

2820 visualisations

Déconseillé aux moins de 3 ans
compatible Windows
software
Français Anglais
illustration


Je vous présente un petit projet d'on je suis assez content. Certain me dirons peut-etre qu'Irrlicht ce n'est pas le meilleur choix pour ce genre d'application, mais c'est que je n'ai jamais programmer de gui avec autre chose qu'Irrlicht. (j'ai pas envie de me mettre a apprendre une autre api pour l'instant, j'ai déja assez a faire avec celle-ci). Et la partie réseau est dévellopée avec RakNet.

1- Pourquoi ce programme:
Ce programme me sert enfaite a checker tous nos serveur distant. Et même plus, car aujourd'hui 90% de nos serveur sont virtuel, hébergé par d'autre machine. On utilise généralement un serveur qu'on appel "management" pour manager un certain nombre de serveur virtuel. Le problème est que tout les matin on se connect (manuellement) a chaque serveur pour validez qu'il sont bien en route. Il faut compter 30 à 60 min de check chaque matin.

Le "MONITOR CONNECTION" est un programme qui en 1 simple clic et 30 secondes d'attente sais me dire quel serveur tourne correctement ou pas. (quel gain de temps smile )

2-comment ça marche:
Il existe enfaite 3 programmes: un Master, un Management, un Client Final.
Le programme Master se connect au au programme Management qui lui renvoie si lui il est OK, ensuite le programme Management check tout ses clients finaux un à un et renvoie au programme Master si il sont OK ou non. un petit shéma:
http://i27.servimg.com/u/f27/11/17/17/45/shema10.jpg
Et comme on peut le voir, on peut aussi connecter le Master directement a un client final.

3-A quoi ça ressemble:
le master et le management:
http://i27.servimg.com/u/f27/11/17/17/45/master10.jpg

Avec possibilité d'ajouter des clients et dans supprimé facilement, la config des clients supporte aussi bien des adresse IP que noms dynamique.

http://i27.servimg.com/u/f27/11/17/17/45/master11.jpg

Possibilité de checker les client séparément ou tous en même temps. La config des clients, des ports de connection, de skin.. sont inscrite dans de simple fichier texte pour plus de facilité a la personnalisation.

et le client final:
http://i27.servimg.com/u/f27/11/17/17/45/finalc10.jpg

Bien sur le programme Management et le Client Final démarre en tant que service et ne peuvent pas se fermer, il se mette dans la zone de notification quand on clique sur Exit.
Le programme Master lui est parfaitement libre de faire ce qu'il veut, on peut même se le mettre sur une clé USB pour checker ce qu'on veut d'où on veut.

Je ne met pas de lien direct pour le téléchargement des programmes car bien qu'aujourd'hui ils sont en production, ils sont malgrés tout toujours en évolution.
Mais si desfois ça interesse quelqu'un, qu'il fasse signe, je peux lui mettre a dispo les softs et les source.


#1 

05-09-2010 16:10:44

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

et bien bravo pour ce gain de temps, je dirai peu importe la lib que tu utilise du moment que les résultats sont là dans un premier temps wink
Par contre si tu fait essentiellement de la gui et pas de 3d ? alors sur le long terme il te sera plus facile/rapide de prog avec une lib spécifique, je comprend que tu n'est pas trop le temps d'apprendre, mais "BOnne nouvelle"->tu n'a rien à apprendre, puisque tu sais déjà wink en effet si je prend qt par exemple, l'utilisation est quasi identique à la irr::gui mais en plus simple encore smile
Je sait pas si  tu à déjà vu les tuto sur le sdz, mais en quelques lignes de codes tu peut réaliser un navigateur internet par exemple, c'est pour dire à quel point tu peut gagner du temps en production et en fonctionnalités. alors certe le tuto est long, mais tu as juste à lire quelques lignes, je suis persuadé que tu sais déjà le reste wink
Si tu veux montre ton code gui du master je peux peut-être t'aider wink

Hors ligne


#2 

06-09-2010 00:42:35

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

et bien bravo pour ce gain de temps

Merci

Par contre si tu fait essentiellement de la gui et pas de 3d ? alors sur le long terme il te sera plus facile/rapide de prog avec une lib spécifique

En fait je fait bien plus de 3d que de gui , je suis toujours entrain de développer mon FPS online, mais il m'arrive de faire de petit programme comme ça entre temps donc du coup j'utilise Irrlicht du fait que c'est celle que je connais le mieux.

en effet si je prend qt par exemple, l'utilisation est quasi identique à la irr::gui mais en plus simple encore

Et bien ça je ne le savais pas,va falloir je j'y jette un œil, peut-être pas pour me refaire ce programme là entièrement avec Qt, mais pour un prochain. J'avais effectivement vu le tuto sur le sdz (c'est d'ailleur uniquement sur ce site que j'ai vaguement appris a programmer) mais vue la longueur de tuto, je pensais que cette lib devais être assez compliquer a prendre en main. Maintenant que je vais avoir un petit peu plus de temps smile je vais étudier ça.

Hors ligne


#3 

06-09-2010 03:19:43

nico
Webmaster
Date d'inscription: 07-08-2009
Messages: 563
Corrections: 9

à mon avis tu va te régaler wink faut pas voir ce tuto comme un cours, mais plutôt comme une doc pour débutant smile donc tu as juste à regarder là ou ça t'intéresse pas besoin de tout lire.
faut surtout que tu lise ça http://www.siteduzero.com/tutoriel-3-11 … slots.html
c'est un concept de haut niveau inventé par qt, qui est tout simplement génial !
il y a également un éditeur graphique de fenêtres, donc tu pourra générer le code des tes fenêtre grâce aux glisser/déposer à la souris. mais avant il vaut mieux s'entrainer en manuel
après le plus dur c'est de se retenir, tellement on a envi de rajouter des fonctionnalités.

Hors ligne


#4 

06-09-2010 16:52:29

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

heuu... excusez-moi mais le terme serveur est très global...
quel genre de serveurs cela teste? du http?


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#5 

06-09-2010 22:33:46

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

heu...ha oui pas bête comme question car ce ne sont pas des programmes serveur mais des OS , Windows serveur (2000, 2003, 2008) ou des Windows de production pour des automate, robot... des PC que si il s'éteignent tout le monde panique. Il est donc préférable de sans rendre compte le premier pour remettre les choses en ordre. Il existe le Ping pour tester, mais ce n'est vraiment pas fiable, car on a vu bien des fois que le ping répond alors que l'OS est en rideaux.

Par contre il n'y a pas encore de version développé pour Linux (et pourtant j'en aurais bien besoin aussi) mais elle est en cours.

Aussi, j'ai commencé du coup a étudier Qt, pas mal du tout, je pense même que je vais refaire ce soft avec pour le fun.

Dernière modification par nabouill (07-09-2010 09:39:51)

Hors ligne


#6 

07-09-2010 11:54:41

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

OK !! très interressant !! car c'est vrai que l'os en rideau arrive à répondre au ping.
Si tu as besoin d'aide sous linux je peux peut-être t'aider. Même si je ne connais pas les gui. (j'ai juste fait un peu de gtk. Sinon tu peux toujours rester sous irrlicht-gui, perso je trouve ca plus facile à porter que le reste...


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#7 

07-09-2010 13:17:52

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

Ok merci pour ta proposition d'aide.
Mais pour linux, il n'y aura pas de gui, puisque nos linux sont principalement des ESX, quelques LRS et Trixbox soit pas un avec une interface graphique.
Donc l'apli va seulement être en console, donc ça sa ne me pose pas de problème (du moins je crois), là où je pense ou je vais peut-être galérer un peu, c'est pour installer le programme et le faire démarrer un tant que service. J'étudierais ça, mais j'ai 2-3 bricoles a finir avant.

Hors ligne


#8 

08-09-2010 09:55:13

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

Et ben ça fait plaisir à entendre. Je ne connais pas la programation de modules init.d mais je m'y pencherai un peut histoir de pouvoir t'épauler. Bon courage pour ton soft c'est un projet interressant;


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


#9 

15-09-2010 22:10:41

nabouill
Abonné
Date d'inscription: 17-09-2009
Messages: 242
Corrections: 1

Bon ma version pour linux fonctionne bien, mise a part un petit truc, pour ne pas trop faire souffrir le CPU, sous windows, je fait des sleep(..);
ce qui soulage largement mon CPU, mais le sleep() ne marche pas sous linux, enfin si il marche, mon programme fait bien une pause, mais n'allége pas du tout mon CPU, t'aurais pas une idée desfois sur ce que je pourrais utiliser à la place ?

Hors ligne


#10 

15-09-2010 23:09:02

TUpac
Habitué
Date d'inscription: 08-09-2009
Messages: 387
Corrections: 1

lol y'a pas longtemps j'ai eu un soucis avec sleep, alors tu vas rire, j'ai fait un:

Code c++ :

system("sleep 1");


J'en suis pas fière mais j'avais retrouvé par la suite la commande dans unist qui marchait.
Cependant c'est déjà éffacé du cerveau. De mémoire c'est soit:

Code c++ :

pause();
usleep();
pleasestopmythreadduringthistime();
// pas sur pour la dernière :p
// example bug pour nico : tongue




ps: nico ! bug de la balise Code=cpp: quand tu met un smile big_smile

nico-> merci+fixed

Dernière modification par TUpac (15-09-2010 23:11:10)


"Si vous ne partagez pas votre stabilité avec les pauvres, les pauvres partageront leur instabilité avec vous."

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
Analysé par
872 membres
1422 sujets
11100 messages
Dernier membre inscrit: Glider
1 invité en ligne
Aucun membre connecté
RSS Feed