Bonjours, j'ai créer un serveur pour faire un système de chat, voici tout mon code:
Form1:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Threading;
using System.Runtime.Serialization.Formatters;
using System.Runtime.Serialization.Formatters.Binary;
using System.Data.SqlClient;
 
namespace Serveur
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        Thread myth;
        NetworkStream myns;
        TcpListener mytcpl;
        Socket mysocket;
        BinaryReader bb;
 
        //Reception
        void file_receiver()
        {
            mytcpl = new TcpListener(IPAddress.Any, 7000); //Ecoute sur le port 7000
            mytcpl.Start();
            //Supprimer le fichier txt.txt si il existe
            if (File.Exists("txt.txt"))
            {
                try
                {
                    File.Delete(@"txt.txt");
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.Message);
                }
            }
            //Accepte Socket
            mysocket = mytcpl.AcceptSocket();
            myns = new NetworkStream(mysocket);
            BinaryFormatter br = new BinaryFormatter();
            object op;
            op = br.Deserialize(myns); //Deserialize the Object from Stream
            bb = new BinaryReader(myns);
            byte[] buffer = bb.ReadBytes(5000000);
            FileStream fss = new FileStream(@"" + (string)op, FileMode.CreateNew, FileAccess.Write);
            fss.Write(buffer, 0, buffer.Length);
            fss.Close();
            mytcpl.Stop();
            //Lire le contenu du fichier
            string[] lines = File.ReadAllLines(@"txt.txt", Encoding.UTF8);
            if (lines[0] == "inscription")
            {
                //Enregistre le contenu du fichier dans des variables pour stocker dans BDD
                string pseudonyme = lines[1];
                string mot_de_passe = lines[2];
                string nom = lines[3];
                string prenom = lines[4];
                string email = lines[5];
                //Chaine de connexion a la BDD
                SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
                conn.Open();
                //Vérifie si le pseudo existe ou non
                SqlCommand cmdtt = new SqlCommand("select * from inscription where Pseudonyme='" + pseudonyme + "';", conn);
                SqlDataReader rdtt = cmdtt.ExecuteReader();
                int r = 0;
                while (rdtt.Read())
                {
                    r++;
                }
                rdtt.Close();
                //Après l'utilisation du txt.txt on le supprime
                try
                {
                    File.Delete(@"txt.txt");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                //Retourne un message au client
                cnxSql ss = new cnxSql();
                ss.verif(r);
                //Si le speudo n'existe pas dans la BDD on l'ajoute
                cnxSql s = new cnxSql(pseudonyme, nom, prenom, mot_de_passe, email);
                if (r == 0)
                {
                    s.ajouter();
                }
                //Contenue de la réception
                if (mysocket.Connected == true)
                {
                    while(true)
                    {
                        file_receiver();
                    }
                }
            }
            //=================================
            else
                if (lines[0] == "nvmdp")
                {
                    string pseudonyme = lines[1];
                    string email = lines[2];
                    string mot_de_passe = lines[3];
                    //Chaine de connexion aux BDD
                    SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
                    conn.Open();
                    //Vérification de l'existance des éléments pour valider le changement de mot de passe
                    SqlCommand cmdtt = new SqlCommand("select * from inscription where pseudonyme='" + pseudonyme + "'and email ='" + email + "';", conn);
                    SqlDataReader rdtt = cmdtt.ExecuteReader();
                    int r = 20;
                    while (rdtt.Read())
                    {
                        r++;
                    }
                    rdtt.Close();
                    //Supprimer le fichier txt.txt
                    try
                    {
                        File.Delete(@"txt.txt");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    //Retourner message au client
                    cnxSql ss = new cnxSql();
                    ss.verif(r);
                    //Si les informations sont correct on change le mot de passe
                    cnxSql s = new cnxSql(pseudonyme, mot_de_passe, email);
                    if (r == 21)
                    {
                        s.modifier();
                    }
                    //Contenue des réceptions des autres fichiers
                    if (mysocket.Connected == true)
                    {
                        while(true)
                        {
                            file_receiver();
                        }
                    }
                }
                else if (lines[0] == "Quitter")
                {
                    string ip = lines[1];
                    //Chaine de connexion au BDD
                    SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
                    conn.Open();
                    //Supprimer le client qui demande la déconnexion de la liste connectées
                    SqlCommand cmdtt = new SqlCommand("Delete from connexion where ip='" + ip + "';", conn);
                    cmdtt.ExecuteNonQuery();
                    //Supprimer le fichier txt.txt
                    try
                    {
                        File.Delete(@"txt.txt");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    //Contenue la réception des autres demande de déconnexion
                    if (mysocket.Connected == true)
                    {
                        while (true)
                        {
                            file_receiver();
                        }
                    }
                }
                else if (lines[0] == "getlist")
                {
                    string ip = lines[1];
                    //Envoyer la liste des connectées a chaque client
                    stockage_list();
                    send_list(ip);//Liste des utilisateurs connectées
                    //MessageBox.Show("envoi liste");
                    //Thread m = new Thread(new System.Threading.ThreadStart(send_list)); //Liste IP des clients connectées
                    //m.Start();
                    //On execute ce thread pour envoyer deux fichier paralelle
                    Thread mythh = new Thread(new System.Threading.ThreadStart(send_list1)); //Liste IP des clients connectées
                    mythh.Start();
                    //Contenue de la réception
                    if (mysocket.Connected == true)
                    {
                        while (true)
                        {
                            file_receiver();
                        }
                    }
                }
                else
                {
                    string pseudonyme = lines[0];
                    string mot_de_passe = lines[1];
                    string ip = lines[2];
                    //Chaine de connexion au BDD
                    SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
                    conn.Open();
                    //Vérifier l'existance de client demande d'authentification, et vérifier pseudo et mot de passe
                    SqlCommand cmdtt = new SqlCommand("select * from inscription where pseudonyme='" + pseudonyme + "' and mot_de_passe ='" + mot_de_passe + "';", conn);
                    SqlDataReader rdtt = cmdtt.ExecuteReader();
                    int r = 10;
                    while (rdtt.Read())
                    {
                        r++;
                    }
                    rdtt.Close();
                    //Supprimer le fichier txt.txt
                    try
                    {
                        File.Delete(@"txt.txt");
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                    //Retourner un message au client
                    cnxSql ss = new cnxSql();
                    ss.verif(r);
                    //Ajouter un client, a la liste des connectées, si pseudo et mot de passe correct
                    cnxSql s = new cnxSql(pseudonyme, ip);
                    if (r == 11)
                    {
                        SqlCommand cm = new SqlCommand("select pseudonyme from connexion where pseudonyme='" + pseudonyme + "';", conn);
                        SqlDataReader rqd = cm.ExecuteReader();
                        int v = 0;
                        while (rqd.Read())
                        {
                            v++;
                        }
                        rqd.Close();
                        if (v == 0)
                        {
                            s.ajouter_liste_cnct();
                        }
                        else
                        {
                            SqlCommand cmm = new SqlCommand("delete from connexion where pseudonyme='" + pseudonyme + "';", conn);
                            cmm.ExecuteNonQuery();
                            s.ajouter_liste_cnct();
                        }
                    }
                    //Contenue de la réception
                    if (mysocket.Connected == true)
                    {
                        while (true)
                        {
                            file_receiver();
                        }
                    }
                }
        }
 
        //Envoyer liste connectées(envoyer les pseudo connectées)
        void send_list(string ip)
        {
            //Transfére la liste des clients connectées vers le client
            FileStream fs = new FileStream("list.txt", FileMode.Open); //Sélectionne le fichier list
            byte[] buffer = new byte[fs.Length];
            int len = (int)fs.Length;
            fs.Read(buffer, 0, len); //Convertir le fichier list en byte array et ajouter le contenu dans un buffer
            fs.Close();
            //Construction d'un BinaryFormatter et l'utiliser pour sérialiser les données
            BinaryFormatter br = new BinaryFormatter();
            TcpClient myclient = new TcpClient(ip, 7007); //Connecter avec l'utilisateur
            NetworkStream myns = myclient.GetStream();
            br.Serialize(myns, "list.txt"); //Sérialiser le nom du fichier
            BinaryWriter mysw = new BinaryWriter(myns);
            mysw.Write(buffer); //Ecrire le fichier dans le stream
            mysw.Close();
            myns.Close();
            myclient.Close();
        }
 
        //Envoyer liste connectées(envoyer les ip's des utilisateur connectées)
        void send_list1()
        {
            //Lire le contenu du fichier txt.txt
            string[] lines = File.ReadAllLines(@"txt.txt", Encoding.UTF8);
            //get l'ip des utilisateur du fichier txt.txt
            string ip = lines[1];
            FileStream fs = new FileStream("list1.txt", FileMode.Open); //Sélectionne le fichier list1
            byte[] buffer = new byte[fs.Length];
            int len = (int)fs.Length;
            fs.Read(buffer, 0, len); //Convertir le fichier list1 en byte array et ajouter le contenu dans un buffer
            fs.Close();
            //Construire un BinaryFormatter et l'utiliser pour sérialiser les données
            BinaryFormatter br = new BinaryFormatter();
            TcpClient myclient = new TcpClient(ip, 7007); //Connecter avec l'utilisateur
            NetworkStream myns = myclient.GetStream();
            br.Serialize(myns, "list1.txt"); //Sérialiser le nom du fichier
            BinaryWriter mysw = new BinaryWriter(myns);
            mysw.Write(buffer); //Ecrire le fichier dans le stream
            mysw.Close();
            myns.Close();
            myclient.Close();
        }
 
        //Stockage des utilisateur et leur ip pour envoyer a chaque client
        void stockage_list()
        {
            int x = 0;
            SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
            try
            {
                conn.Open();
                //Calcul le nombre d'utilisateur connectées
                SqlCommand cmdtt = new SqlCommand("select * from connexion", conn);
                SqlDataReader rdtt = cmdtt.ExecuteReader();
                while (rdtt.Read())
                {
                    x++;
                }
                rdtt.Close();
                //Enregistrement des Pseudo et IP dans deux fichier séparé(list = Pseudo; list1 = IP)
                StreamWriter sw = File.CreateText("list.txt"); //Création du fichier list.txt
                StreamWriter sw1 = File.CreateText("list1.txt"); //Création du fichier list1.txt
                SqlCommand cmd = new SqlCommand("select * from connexion", conn);
                SqlDataReader rdD = cmd.ExecuteReader();
                if (rdD != null)
                {
                    for (int i = 0; i < x; i++)
                    {
                        rdD.Read();
                        sw.WriteLine(rdD[0].ToString()); //Stock les Pseudo dans list
                        sw.WriteLine(rdD[1].ToString()); //Stock les IP dans list1
                    }
                }
                else
                {
                    MessageBox.Show("Personne n'est connecter");
                }
                sw.Close();
                sw1.Close();
                conn.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erreur: " + ex.Message);
            }
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            //Tread myth s'éxécute jusqu'a la fermeture
            myth = new Thread(new System.Threading.ThreadStart(file_receiver));
            myth.Start();
        }
 
        public string psd;
 
        private void suppInscrit_Click(object sender, EventArgs e)
        {
            //Supprimer un utilisateur de la table inscription
            int row = -1;
            try
            {
                row = dataGridView1.CurrentCell.RowIndex; //row prend le numéro de ligne sélectionner
 
            }
            catch (Exception )
            {
                MessageBox.Show("Sélectionner un utilisateur");
                return;
            }
            //Si l'admin a sélectionner un utilisateur, on récupére le pseudo de l'utilisateur
            if (row >= 0)
            {
                psd = (dataGridView1.Rows[row].Cells[0].Value).ToString();
            }
            //Chaine de connexion avec la BDD
            SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
            conn.Open();
            //Supprimer l'utilisateur
            SqlCommand cmd = new SqlCommand("delete from inscription where pseudonyme='" + psd + "';", conn);
            cmd.ExecuteNonQuery();
            MessageBox.Show("Action réussi!");
            conn.Close();
            consulListInscrit.PerformClick(); //Actualiser le liste d'inscription
        }
 
        private void consulListInscrit_Click(object sender, EventArgs e)
        {
            dataGridView1.Rows.Clear(); //Vide le dataGrid
            SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
            conn.Open();
            try
            {
                //Get le nombre d'utilisateur inscrite
                string strsqlt = "select * from inscription";
                SqlCommand cmdt = new SqlCommand(strsqlt, conn);
                SqlDataReader rdt = cmdt.ExecuteReader();
                int x = 0;
                while (rdt.Read())
                {
                    x++;
                }
                rdt.Close();
                SqlCommand cmd = new SqlCommand(strsqlt, conn);
                //Stock le contenue de inscription dans la dataGridView1
                if (rdt != null)
                {
                    for (int i = 0; i < x; i++)
                    {
                        rdt.Read();
                        dataGridView1.Rows.Add();
                        dataGridView1.Rows[i].Cells[0].Value = rdt[0].ToString();
                        dataGridView1.Rows[i].Cells[1].Value = rdt[1].ToString();
                        dataGridView1.Rows[i].Cells[2].Value = rdt[2].ToString();
                        dataGridView1.Rows[i].Cells[3].Value = rdt[3].ToString();
                        dataGridView1.Rows[i].Cells[4].Value = rdt[4].ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erreur: " + ex.Message);
            }
            conn.Close();
        }
 
        private void consulListConnecter_Click(object sender, EventArgs e)
        {
            dataGridView2.Rows.Clear();
            SqlConnection conn = new SqlConnection("server=127.0.0.1 ;Database=steammaker ;Integrated Security = true");
            conn.Open();
            try
            {
                string strsqlt = "select * from connexion";
                SqlCommand cmdt = new SqlCommand(strsqlt, conn);
                SqlDataReader rdt = cmdt.ExecuteReader();
                int x = 0;
                while (rdt.Read())
                {
                    x++;
                }
                rdt.Close();
                SqlCommand cmd = new SqlCommand(strsqlt, conn);
                SqlDataReader rd = cmd.ExecuteReader();
                if (rd != null)
                {
                    for (int i = 0; i < x; i++)
                    {
                        rd.Read();
                        dataGridView2.Rows.Add();
                        dataGridView2.Rows[i].Cells[0].Value = rd[0].ToString();
                        dataGridView2.Rows[i].Cells[1].Value = rd[1].ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erreur: " + ex.Message);
            }
            conn.Close();
        }
 
        private void suppListConnecter_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
            conn.Open();
            SqlCommand cmd = new SqlCommand("delete from connexion", conn);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
    }
}
cnxSql:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters;
using System.Runtime.Serialization.Formatters.Binary;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Windows.Forms;
 
namespace Serveur
{
    class cnxSql
    {
        Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
        Socket sockClient;
        SqlConnection conn = new SqlConnection("server=localhost ;Database=steammaker ;Integrated Security = true");
        SqlCommand cmd;
 
        public string pseudonyme { get; set; }
        public string nom { get; set; }
        public string prenom { get; set; }
        public string mot_de_passe { get; set; }
        public string email { get; set; }
        public string ip { get; set; }
        //Constructeur parametre (1 parametre)
        public cnxSql(string pseudonyme)
        {
            this.pseudonyme = pseudonyme;
        }
        //Constructeur parametre (2 parametre)
        public cnxSql(string pseudonyme, string ip)
        {
            this.pseudonyme = pseudonyme;
            this.ip = ip;
        }
        //Constructeur parametre (3 parametre)
        public cnxSql(string pseudonyme, string mot_de_passe, string email)
        {
            this.pseudonyme = pseudonyme;
            this.mot_de_passe = mot_de_passe;
            this.email = email;
        }
        //Constructeur parametre (5 parametre)
        public cnxSql(string pseudonyme, string nom, string prenom, string mot_de_passe, string email)
        {
            this.pseudonyme = pseudonyme;
            this.nom = nom;
            this.prenom = prenom;
            this.mot_de_passe = mot_de_passe;
            this.email = email;
        }
        public cnxSql() { }
        //Ajoute a la table d'inscription
        public void ajouter()
        {
            try
            {
                conn.Open();
                cmd = new SqlCommand("Insert into inscription values('" + pseudonyme + "','" + nom + "','" + "','" + prenom + "','" + mot_de_passe + "','" + email + "')", conn);
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show("Erreur: " + e.Message);
            }
        }
        //Ajout a la table de connexion
        public void ajouter_liste_cnct()
        {
            try
            {
                conn.Open();
                cmd = new SqlCommand("Insert into connexion value('" + pseudonyme + "','" + ip + "')", conn);
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show("Erreur: " + e.Message);
            }
        }
        //Changer de mot de passe
        public void modifier()
        {
            try
            {
                conn.Open();
                cmd = new SqlCommand("UPDATE inscription SET mot_de_passe='" + mot_de_passe + "'WHERE pseudonyme ='" + pseudonyme + "';", conn);
                cmd.ExecuteNonQuery();
                conn.Close();
            }
            catch (Exception e)
            {
                MessageBox.Show("Erreur: " + e.Message);
            }
        }
        //Detecte l'ip de cette machine
        private string GetLocalIP()
        {
            IPHostEntry host;
            host = Dns.GetHostEntry(Dns.GetHostName());
            foreach (IPAddress ip in host.AddressList)
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                {
                    return ip.ToString();
                }
            }
            return "127.0.0.1";
        }
        //Etablisement d'une connexion avec un client
        public void verif(int x)
        {
            //initialiser le port du programme
            int num_port = 7364;
            //Déclarer variable ipendpoint qui est composer par IP et num_port
            IPEndPoint ip_and_port = new IPEndPoint(IPAddress.Any, num_port);
            //Exécution de bind
            sock.Bind(ip_and_port);
            //Le serveur écoute si une machine est entrain de ce connecter
            sock.Listen(-1); //Accepter tout les client (-1 nombre infini)
            //Bloquage du serveur et attend une demande de connexion et acceptation
            sockClient = sock.Accept();
            envoier_message(x);
            sock.Close();
        }
        //Envoie un message au client
        void envoier_message(int x)
        {
            if (x == 0)
            {
                string srep = "Action réussi!";
                byte[] tb = ASCIIEncoding.Default.GetBytes(srep);
                int n = sockClient.Send(tb);
            }
            else if (x == 1)
            {
                string srep = "Nom d'utilisateur incorect!";
                byte[] tb = ASCIIEncoding.Default.GetBytes(srep);
                int n = sockClient.Send(tb);
            }
            else if (x == 11)
            {
                string srep = "Authentification réussi!";
                byte[] tb = ASCIIEncoding.Default.GetBytes(srep);
                int n = sockClient.Send(tb);
            }
            else if (x == 21)
            {
                string srep = "Mot de passe changé";
                byte[] tb = ASCIIEncoding.Default.GetBytes(srep);
                int n = sockClient.Send(tb);
            }
            else if (x == 20)
            {
                string srep = "Veiller vérifier vos informations";
                byte[] tb = ASCIIEncoding.Default.GetBytes(srep);
                int n = sockClient.Send(tb);
            }
        }
    }
}
Mon problème, c'est que je n'arrive pas a accèder a ma base de donnée sql de WampServer!
J'ai créer une BDD qui ce nomme steammaker, puis deux table:
connexion:
-Pseudonyme
-IP
Inscription:
-Pseudonyme
-Nom
-Prenom
-Mot_De_Passe
-Email

Puis qu'on j'essaye d'ouvrir en faisant conn.Open(); sa me fait cette erreur:
Une exception non gérée du type 'System.Data.SqlClient.SqlException' s'est produite dans System.Data.dll

Informations supplémentaires*: Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: Named Pipes Provider, error: 40 - Impossible d'ouvrir une connexion à SQL Server)
Merci d'avance pour vos futur réponse!