WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Modélisation d'un système multi-agents : application à  la réunion d'attribution des charges horaires au département d'informatique de gestion

( Télécharger le fichier original )
par Jean-Marie MUNGUAKONKOKWA
ISP Bukavu - Licence en pédagogie appliquée option informatique de gestion 2009
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

4.3.2. Le fichier service

import java.net.*;

import java.sql.*;

import java.io.*;

public class Service extends Thread{

Socket sck = null;

Connection con = null; // connexion à la BD

Statement stat = null; // exécution des cd sql

ResultSet rs = null; // pour recueillir les rsultats de la consultation

ResultSetMetaData rsmd=null; // info sur resultset

String requete;

String requete1;

ResultSet rs1 = null;

Statement stat1 = null;

BufferedReader bfrd = null;

PrintWriter prtw = null;

public Service(Socket s){

sck = s;

}

/*

La méthode run est obligatoire dans une classe Thread. c'est elle qui est exécutée

lors de l'invocation d'un thread par la laméthode start()

*/

public void run(){

try{

bfrd = new BufferedReader(new InputStreamReader(sck.getInputStream()));

prtw = new PrintWriter(sck.getOutputStream(),true);

} catch (Exception e) {

System.out.println("erreur creation flux \n" +e);

System.exit(0);

}

// 2. lire la reque du client

try{

requete = bfrd.readLine();

} catch (Exception e){

System.out.println("erreur lecture requete \n" +e);

System.exit(1);

}

// 3. analyser la requete cliente

String lettre1 = "";

lettre1 = requete.substring(0,1);

// 4. Appel de la méthode d'écriture pour une requete d'écriture

if(lettre1.equals("i")) insertion();

else{

// 5. Appel de la méthode de consultation pour une requete de consultation

consultation();

//chargecommun();

//suppression();

}

}

// Mthode d'écriture

public void insertion(){

connexion();

try{

int nbEnreg = stat.executeUpdate(requete);

} catch (Exception e){

System.out.println(e);

System.exit(1);

}

}

// méthode de suppression

public void suppression(){

connexion();

try{

int nbEnreg = stat.executeUpdate(requete);

} catch (Exception e){

System.out.println(e);

System.exit(1);

}

}

// Méthode de consultation

public void consultation(){

// connexion à la base

connexion();

try{

// exécuter la requete

rs = stat.executeQuery(requete);

//rs = stat.executeQuery(requete1);

// exploitation du rs

ResultSetMetaData rsmd = rs.getMetaData();

int nbCol = rsmd.getColumnCount();

while(rs.next()){

for(int i=1; i<=nbCol; i++){

prtw.println(rs.getString(i));

}

}

}catch(Exception e){

System.out.println(e);

System.exit(2);

}

}

// Consultation charge commun

}

4.3.3. Le fichier Planification

import java.awt.*; // interface graphique

import java.applet.*; // Fonctionnalités applet

import javax.swing.*; // interface

import java.awt.event.*; // événements

import java.net.*; // aspect réseau

import java.sql.*;

import java.io.*; // envoi des requêtes et réception

public class Planification extends Applet implements WindowListener {

// attributs de la planifcation de la réunion

private String nom, sujet, agenda, datedebut;

private String datefin;

// objets graphiques globaux

TextField txnom=new TextField ();

TextField txsujet=new TextField ();

TextField txagenda=new TextField ();

TextField txdebut=new TextField ();

TextField txduree=new TextField ();

public Insets getInsets() {

Insets normal = super.getInsets();

return new Insets(normal.top + 60, normal.left + 40,

normal.bottom +40, normal.right + 40);

}

public void init(){

setSize(400, 300); // taille de l'applet

GridLayout gr=new GridLayout (5,2);

setLayout(gr); //disposition de l'applet

// Titre de l'applet

Label lbTitre = new Label("Planification réunion");

Font f = new Font("arial", Font.BOLD, 30);

lbTitre.setFont(f);

lbTitre.setBounds(5, 20, 350, 50); add(lbTitre);

Panel centre=new Panel(); add("Center",centre);

//GridLayout gr=new GridLayout (5,2);

centre.setLayout (gr);

centre.add(new Label ("Nom"));

centre.add(txnom);

centre.add(new Label ("Sujet"));

centre.add(txsujet);

centre.add(new Label ("Agenda"));

centre.add(txagenda);

centre.add(new Label ("DateDebut"));

centre.add(txdebut);

centre.add(new Label ("DateFin"));

centre.add(txduree);

Font f1=new Font("arial",Font.BOLD,14);

centre.setFont(f1);

centre.getInsets();

Panel sud=new Panel(); add("south",sud);

Button bt1=new Button("Envoyer");

Button bt2=new Button("Annuler");

Button bt3=new Button("VoirDésidérata");

sud.add(bt1);

sud.add(bt2);

sud.add(bt3);

sud.getInsets();

//

bt1.addActionListener( //gestion du bouton envoyer

new ActionListener(){

public void actionPerformed(ActionEvent e){

appelServeur(e);

}

}

);

bt2.addActionListener(// gestion du bouton annuler

new ActionListener(){

public void actionPerformed(ActionEvent e){

txnom.setText(null);

txsujet.setText(null);

txagenda.setText(null);

txdebut.setText(null);

txduree.setText(null);

}

}

);

bt3.addActionListener(

new ActionListener(){

public void actionPerformed(ActionEvent e){

Dimension dim=getSize();

String[] message={""+dim.width,""+dim.height,"mess1","mess2","mess3"};

ChargeHoraire.main(message);

}

});

}//fin de la methode init

public static void main(java.lang.String[] args) {//ces methodes en dessous m'on permis de tourner

Planification applet = new Planification();//une applet dans une application

Frame frame = new Frame("Planification de la réunion");

frame.addWindowListener(applet);

frame.add("Center", applet);

frame.setSize(500, 700);

frame.show();

applet.init();

applet.start();

}

public void windowActivated(WindowEvent e) { } //

public void windowClosed(WindowEvent e) { }

public void windowClosing(WindowEvent e) {

System.exit(0);

}

public void windowDeactivated(WindowEvent e) { }

public void windowDeiconified(WindowEvent e) { }

public void windowIconified(WindowEvent e) { }

public void windowOpened(WindowEvent e) { }

public void appelServeur(ActionEvent evt){

// 1. récupérer les données de l'interface

nom = txnom.getText(); sujet = txsujet.getText();

agenda = txagenda.getText(); datedebut = txdebut.getText();

datefin = txduree.getText();

// 2. construire la requete sql d'enregistrement

String requete = "insert into reunion ( nom, sujet, agenda, datedebut,datefin) values ('"+nom+"', '"+sujet+"', '"+agenda+"', '"+datedebut+"', '"+datefin+"')";

// 3. se connecter au serveur

Socket sck = null; // pour la connection cliente au réseau (serveur)

try{

sck = new Socket("127.0.0.1", 1500);

} catch (Exception e){

JOptionPane.showMessageDialog(

null,

"erreur : " + e, "connexion au serveur",

JOptionPane.ERROR_MESSAGE

);

}

// 4. créer le flux d'envoi de la requete

PrintWriter prtw = null; // flux d'envoi de données

try{

prtw = new PrintWriter(sck.getOutputStream(), true);

} catch (Exception e){

JOptionPane.showMessageDialog(

null,

"erreur : " + e, "création flux sortie",

JOptionPane.ERROR_MESSAGE

);

}

// 5. envoyer la requete au serveur

prtw.println(requete);

} // fin appelServeur

}

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand