pas tout à fait.
su requiert de connaître le mot de passe du compte (root ou autre) auquel on veut accéder.
sudo requiert d'être sudoer, donc d'être inscrit dans /etc/sudoers, et n'utilise que le mot de passe de l'utilisateur "appelant".
pas tout à fait.
su requiert de connaître le mot de passe du compte (root ou autre) auquel on veut accéder.
sudo requiert d'être sudoer, donc d'être inscrit dans /etc/sudoers, et n'utilise que le mot de passe de l'utilisateur "appelant".
Bon, sauf erreur j'ai passé la commande:
etsudo -s root
Je pense que c'est bon, mais je suis certain que vous vous êtes bien compris, moi c'est pas le cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part louis@louis-R530-R730-P530:~$ sudo -su root
Bonjour,
Encore une belle journée qui s'annonce, j'espère qu'elle sera profitable pour moi.
Je me demandais si après toutes ces opérations que vous m'avez conseillé le système était clin et si je pouvais commencer l'installation avec ce tuto "https://doc.ubuntu-fr.org/tasksel" il y a aussi "https://doc.ubuntu-fr.org/lamp".
Bonjour,
Pour ce qui est de tasksel par rapport aux installations "normales" cela demande un petit éclaircissement.
Sous linux, pour installer un programme, il faut connaître le nom de son paquetage, puis installer le dit paquetage.
Par exemple, pour installer le serveur MySQL il faut passer la commande :
Une difficulté sous linux peut être de connaître le nom du paquet correspondant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo apt-get install mysql-server
Par exemple, pour installer un serveur LAMP, il faut savoir qu'il faut installer un MySQL serveur, un serveur apache et un serveur PHP, connaître le nom de paquets et passer les commandes correspondantes.
Tasksel fonctionne un peu autrement. Il fonctionne par tâches. Après installation de tasksel (par la commande apt-get install), lancer le programme permet d'arriver sur une interface semi graphique. Dans cette interface, on va choisir les tâches que l'on souhaite installer, les rôles. (d'où le nom, task, tâche sel, select, malheureusement oui, on est de retour sur la question de l'anglais )
Pour un serveur LAMP, dans l'interface tasksel, on va choisir le rôle LAMP serveur, et tasksel se charge d'installer les paquets correspondants.
Il est important de comprendre cette différence.
Donc pour l'administration linux, on peut donc au choix :
- Installer les paquets manuellement, ce qui peut être plus compliqué mais offre plus de contrôle, ou
- Installer des rôles, tasksel se chargeant d'installer comme un grand les paquets, ce qui est plus simple (à mon sens) mais offre moins de contrôle.
ATTENTION : Il ne faut pas désinstaller des rôles avec tasksel. En effet, ce dernier ne contrôle pas les dépendances, c'est à dire que si dans sa liste, il doit désinstaller quelque chose, il ne se pose pas la question si ce quelque chose est encore utilisé sur la machine. Cela peut donc entraîner des problèmes. Il faut donc toujours désinstaller les paquets manuellement, avec les commandes apt remove.
J'espère que les choses sont un peu plus claires pour vous.
Bonjour,
Après lecture attentive mon choix s'est porté sur "https://doc.ubuntu-fr.org/lamp" qui m'a paru plus simple et plus rapide, j'ai donc commencé comme suit:
"à partir d'Ubuntu 16.04 :
apache2, php, mysql-server, libapache2-mod-php, php-mysql"
j'ai eu le résulta suivantsudo apt-get install apache2 php mysql-server libapache2-mod-php php-mysql
en suivant toujours j'ai tapé
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 louis@louis-R530-R730-P530:~$ sudo apt-get install apache2 php mysql-server libapache2-mod-php php-mysql [sudo] Mot de passe de louis*: Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait php is already the newest version (1:7.0+35ubuntu6). php-mysql is already the newest version (1:7.0+35ubuntu6). The following additional packages will be installed: apache2-bin apache2-data apache2-utils libapache2-mod-php7.0 mysql-server-5.7 mysql-server-core-5.7 Paquets suggérés*: apache2-doc apache2-suexec-pristine | apache2-suexec-custom mailx tinyca Les NOUVEAUX paquets suivants seront installés*: apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php libapache2-mod-php7.0 mysql-server mysql-server-5.7 mysql-server-core-5.7 0 mis à jour, 9 nouvellement installés, 0 à enlever et 19 non mis à jour. Il est nécessaire de prendre 2 145 ko/12,9 Mo dans les archives. Après cette opération, 104 Mo d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer ? [O/n] Réception de:1 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 apache2-bin amd64 2.4.18-2ubuntu3.1 [923 kB] Réception de:2 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libapache2-mod-php7.0 amd64 7.0.8-0ubuntu0.16.04.2 [1 222 kB] 2 145 ko réceptionnés en 23s (91,4 ko/s) Préconfiguration des paquets... Sélection du paquet apache2-bin précédemment désélectionné. (Lecture de la base de données... 230944 fichiers et répertoires déjà installés.) Préparation du dépaquetage de .../apache2-bin_2.4.18-2ubuntu3.1_amd64.deb ... Dépaquetage de apache2-bin (2.4.18-2ubuntu3.1) ... Sélection du paquet apache2-utils précédemment désélectionné. Préparation du dépaquetage de .../apache2-utils_2.4.18-2ubuntu3.1_amd64.deb ... Dépaquetage de apache2-utils (2.4.18-2ubuntu3.1) ... Sélection du paquet apache2-data précédemment désélectionné. Préparation du dépaquetage de .../apache2-data_2.4.18-2ubuntu3.1_all.deb ... Dépaquetage de apache2-data (2.4.18-2ubuntu3.1) ... Sélection du paquet apache2 précédemment désélectionné. Préparation du dépaquetage de .../apache2_2.4.18-2ubuntu3.1_amd64.deb ... Dépaquetage de apache2 (2.4.18-2ubuntu3.1) ... Sélection du paquet mysql-server-core-5.7 précédemment désélectionné. Préparation du dépaquetage de .../mysql-server-core-5.7_5.7.13-0ubuntu0.16.04.2_amd64.deb ... Dépaquetage de mysql-server-core-5.7 (5.7.13-0ubuntu0.16.04.2) ... Sélection du paquet mysql-server-5.7 précédemment désélectionné. Préparation du dépaquetage de .../mysql-server-5.7_5.7.13-0ubuntu0.16.04.2_amd64.deb ... Dépaquetage de mysql-server-5.7 (5.7.13-0ubuntu0.16.04.2) ... Sélection du paquet libapache2-mod-php7.0 précédemment désélectionné. Préparation du dépaquetage de .../libapache2-mod-php7.0_7.0.8-0ubuntu0.16.04.2_amd64.deb ... Dépaquetage de libapache2-mod-php7.0 (7.0.8-0ubuntu0.16.04.2) ... Sélection du paquet libapache2-mod-php précédemment désélectionné. Préparation du dépaquetage de .../libapache2-mod-php_1%3a7.0+35ubuntu6_all.deb ... Dépaquetage de libapache2-mod-php (1:7.0+35ubuntu6) ... Sélection du paquet mysql-server précédemment désélectionné. Préparation du dépaquetage de .../mysql-server_5.7.13-0ubuntu0.16.04.2_all.deb ... Dépaquetage de mysql-server (5.7.13-0ubuntu0.16.04.2) ... Traitement des actions différées («*triggers*») pour man-db (2.7.5-1)*... Traitement des actions différées («*triggers*») pour systemd (229-4ubuntu7)*... Traitement des actions différées («*triggers*») pour ureadahead (0.100.0-19)*... ureadahead will be reprofiled on next reboot Traitement des actions différées («*triggers*») pour ufw (0.35-0ubuntu2)*... Paramétrage de apache2-bin (2.4.18-2ubuntu3.1) ... Paramétrage de apache2-utils (2.4.18-2ubuntu3.1) ... Paramétrage de apache2-data (2.4.18-2ubuntu3.1) ... Paramétrage de apache2 (2.4.18-2ubuntu3.1) ... Enabling module mpm_event. Enabling module authz_core. Enabling module authz_host. Enabling module authn_core. Enabling module auth_basic. Enabling module access_compat. Enabling module authn_file. Enabling module authz_user. Enabling module alias. Enabling module dir. Enabling module autoindex. Enabling module env. Enabling module mime. Enabling module negotiation. Enabling module setenvif. Enabling module filter. Enabling module deflate. Enabling module status. Enabling conf charset. Enabling conf localized-error-pages. Enabling conf other-vhosts-access-log. Enabling conf security. Enabling conf serve-cgi-bin. Enabling site 000-default. Paramétrage de mysql-server-core-5.7 (5.7.13-0ubuntu0.16.04.2) ... Paramétrage de mysql-server-5.7 (5.7.13-0ubuntu0.16.04.2) ... update-alternatives: utilisation de «*/etc/mysql/mysql.cnf*» pour fournir «*/etc/mysql/my.cnf*» (my.cnf) en mode automatique Renaming removed key_buffer and myisam-recover options (if present) Checking if update is needed. This installation of MySQL is already upgraded to 5.7.13, use --force if you still need to run mysql_upgrade Paramétrage de libapache2-mod-php7.0 (7.0.8-0ubuntu0.16.04.2) ... Creating config file /etc/php/7.0/apache2/php.ini with new version Module mpm_event disabled. Enabling module mpm_prefork. apache2_switch_mpm Switch to prefork apache2_invoke: Enable module php7.0 Paramétrage de libapache2-mod-php (1:7.0+35ubuntu6) ... Paramétrage de mysql-server (5.7.13-0ubuntu0.16.04.2) ... Traitement des actions différées («*triggers*») pour systemd (229-4ubuntu7)*... Traitement des actions différées («*triggers*») pour ureadahead (0.100.0-19)*... Traitement des actions différées («*triggers*») pour ufw (0.35-0ubuntu2)*... louis@louis-R530-R730-P53
et: "Si le message « It works! » s'affiche, votre serveur Lamp est correctement installé. " exact j'ai eu cette page.
Avant d'aller plus en avant pour ne pas tomber dans les pièges ou je me suis moi-même embourbé, je préfère attendre votre avis.
Bonjour,
Après quelques essais alors que tout s'est bien passé je vois que je n'ai accès à rien du tout, par exemple à var.www.html/spip ou localhost/phpmysql "The requested URL /phpmysql was not found on this server." j'ai bien regardé ce tuto https://doc.ubuntu-fr.org/tutoriel/l...res_de_travail mais je suis un peu embrouillé sans votre aide ça me parait difficile.
Bonjour,
La première étape est déjà bonne, le serveur apache fonctionne.
Avez vous vérifié si le serveur MySQL fonctionne ?
Depuis un terminal, que donne la commande :
A quel endroit du tutoriel que vous indiquez est ce que vous bloquez ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part myslq -h127.0.0.1 -uroot -p
P.S. Désolé du lag de ma réponse, j'étais en vacances hors d’accès au net pendant la semaine passée.
Bonjour, et bon retour,
C'est vrai j'ai cru que j'étais abandonné, ouf (soulagement), comme je disais en suivant le tutos cité, en tapant "http://localhost" je tombe sur la page Apache2 Ubuntu Default Page et "Ça marche!" en utilisant un traducteur "google" il est ce qu'l est mais c'est déjà ça.
je suis donc allé sur "http://localhost/phpmyadmin", et re-belotte root + mot de passe
pour ce qui est du serveur MySQL, depuis mon terminal j'ai tapé la commande#1698 - Access denied for user 'root'@'localhost'
et la réponsemyslq -h127.0.0.1 -uroot -p
voilà ou j'en suis, j'ai beau lire tout ce qui concerne le sujet je ne réussis pas à comprendre, pourtant il me semble bien avoir installé mysql-server avec le terminal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 louis@louis-R530-R730-P530:~$ myslq -h127.0.0.1 -uroot -p La commande «*myslq*» est introuvable, vouliez-vous dire*: La commande «*mysql*» du paquet «*mysql-client-core-5.7*» (main) La commande «*mysql*» du paquet «*mariadb-client-core-10.0*» (universe) myslq*: commande introuvable louis@louis-R530-R730-P530:~$
sudo apt-get install mysql-server
Hum, je viens de voir que mes doigts ont fourchés,
La commande à passer est
Petite explication. Cette commande permet de se connecter au serveur SQL en ligne de commande (c'est l'appel à la commande mysql).
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql -h127.0.0.1 -uroot -p
Les paramètres sont -h127.0.0.1 (cela est l’adresse de loopback de votre machine. cela signifie que vous indiquez à votre machine que le serveur est à l'adresse IP 127.0.0.1, c'est à dire elle même. -uroot demande a votre machine de se connecter avec le compte root du serveur MySQL, et le paramètre -p fait que le mot de passe root du serveur SQL vous sera demandé.
Attention, le mot de passe root du serveur n'est pas le même que le mot de passe root du système. Lorsque vous avez installé le serveur MySQL, il vous a été demandé de saisir un mot de passe pour le compte root MySQL. C'est ce mdp qu'il vous faut saisir.
Si la saisie est bonne, vous devriez avoir une invite ressemblant à cela :
Procedons par etapes. Si cela fonctionne correctement, nous nous occuperons ensuite de votre soucis avec phpmyadmin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Enter password: ******** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 964 Server version: 5.5.50-MariaDB Source distribution Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
J'ai tapé la commande manuellement et en copié/collélouis@louis-R530-R730-P530:~$ mysql -h127.0.0.1 -uroot -p
Etmysql -h127.0.0.1 -uroot -p
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 louis@louis-R530-R730-P530:~$ mysql -h127.0.0.1 -uroot -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost' louis@louis-R530-R730-P530:
si le mot de passe root, pour mysql, n'a pas encore été défini,
alors exécuter mysql, avec l'option -p pour qu'il demande le mot de passe, pose forcément problème !
Bon, de toute évidence il va falloir réinitialiser le mdp pour le compte root de votre serveur MySQL.
Procédons étape par étape.
1. Arrêtez votre serveur MySQL
2. Relancer le serveur MySQL sans mot de passe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo /etc/init.d/mysql stop
3. Vous connecter au serveur MySQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo mysqld_safe --skip-grant-tables &
4. Changer le mot de passe du serveur MySQL Attention, toutes les commandes suivantes doivent êtres passées dans l'invite du serveur, vous devriez donc avoir une invite ressemblant à
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql -u root
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql >
(cela indique au serveur que vous travaillez sur une base de données nommée mysql)
Code : Sélectionner tout - Visualiser dans une fenêtre à part use mysql;
(commande qui met à jour le champ password de la table user pour l'enregistrement dont le champ user est égal à root, oui, il y a une table ET un champ qui porte le même nom)
Code : Sélectionner tout - Visualiser dans une fenêtre à part update user set password=PASSWORD(votrenouveaumotdepasse) where user=root;
(commande qui purge les anciens droits)
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql> flush privileges;
(commande qui vous fait quitter l'invite du serveur MySQL)
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql> quit
5.Depuis votre invite linux normale, il vous faut arrêter à nouveau le serveur MySQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo /etc/init.d/mysql stop
6. Redémarrer le serveur normalement
7. Vous connecter normalement au serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part sudo /etc/init.d/mysql start
le mot de passe est donc celui que vous aurez saisi plus haut (votrenouveaumotdepasse)
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql -h127.0.0.1 -uroot -p
EDIT : En effet, dans la logique cette procédure part du principe qu'un mot de passe a bien été saisi lors de l'install initiale. Dans la pratique, cette procédure devrait fonctionner que ce soit le cas ou non.
Bon j'ai suivi et il s'est arrêté mais je vois qu'il y a une erreur log
alors je préfère arrêter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 louis@louis-R530-R730-P530:~$ sudo /etc/init.d/mysql stop [sudo] Mot de passe de louis*: [ ok ] Stopping mysql (via systemctl): mysql.service. louis@louis-R530-R730-P530:~$ sudo mysqld_safe --skip-grant-tables & [1] 11999 louis@louis-R530-R730-P530:~$ 2016-09-05T14:52:20.308145Z mysqld_safe Logging to syslog. 2016-09-05T14:52:20.330014Z mysqld_safe Logging to '/var/log/mysql/error.log'. 2016-09-05T14:52:20.422275Z mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Bonsoir,
Il n'y a pas d'erreur. Simplement un message vous indiquant que votre serveur fonctionne en mode "dégradé", inhabituel si vous préférez, et que tous les évènements seront enregistrés dans un fichier nommé error.log qui se trouve dans :
/var/log/mysql/
Ouahhh!!, j'ai vraiment des frayeurs et je crains vraiment de tout embrouiller
Et la traduction de :
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 louis@louis-R530-R730-P530:~$ sudo mysqld_safe --skip-grant-tables & [1] 8735 louis@louis-R530-R730-P530:~$ mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update user set password=PASSWORD(votrenouveaumotdepasse) where user=root; ERROR 1054 (42S22): Unknown column 'root' in 'where clause' mysql>
Database changed, je crois comprendre que la base est vide
Bonjour,
non, database changed signifie que la base sur laquelle vous travaillez désormais (la commande use) vient d’être changée. Dit autrement vous travaillez à partir de cette commande sur la base mysql.
En dehors du fait que la commande à échouée pour une question de mauvais caractère employé, dans la commande que vous passez, vous tentez de définir le nouveau mot de passe de root comme votrenouveaumotdepasse... Littéralement...
Donc, repassez la dernière commande en changeant votrenouveaumotdepasse par le mot de passe que vous voulez définir pour ce compte. Ensuite, le message vous indique que la colonne user n'existe pas. La table user existe bien (donc vous ne touchez pas au premier user de la commande), la colonne par contre se nomme User, avec un U majuscule, donc la commande devient WHERE User=
Pour vous en assurer, après avoir passé la commandepassez la commande
Code : Sélectionner tout - Visualiser dans une fenêtre à part use mysql;qui vous donnera la liste de tous les champs de cette table.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DESC user;
Je suis complètement déboussolé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 louis@louis-R530-R730-P530:~$ use mysql; La commande «*use*» est introuvable, vouliez-vous dire*: La commande «*fuse*» du paquet «*fuse-emulator-sdl*» (universe) La commande «*fuse*» du paquet «*fuse-emulator-gtk*» (universe) La commande «*nse*» du paquet «*ns2*» (universe) La commande «*muse*» du paquet «*muse*» (universe) use*: commande introuvable louis@louis-R530-R730-P530:~$ DESC user; DESC*: commande introuvable louis@louis-R530-R730-P530:~
Bon, il va vraiment falloir prendre les choses à bras le corps pour acquérir certaines bases (y compris en anglais je le crains)
La commande use mysql; est une commande qui doit être lancée au serveur MySQL, pas dans un prompt système.
Pour résumer le processus. Vous lancez des commandes pour vous connecter au serveur MySQL.
Dans un fonctionnement normal, cette commande se lance depuis un terminal. Cette commande est sous la forme :
Ce dernier paramètre -p fera que le serveur vous demandera le mot de passe associé au login nomUtilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql -h<adresseServeur> -u<nomUtilisateur> -p
Vous serez alors connecté au serveur MySQL. Vous saurez que vous êtes connecté car l'invite dans votre terminal aura changé. Vous aurez une invite ressemblant à : mysql >
Une fois connecté au serveur MySQL, vous pourrez alors passer des commandes cocernant des requêtes SQL, comme par exemple :
qui indique au serveur que vous souhaitez travailler sur une base nommée mysql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part use mysql;
Notez au passage que toutes les requêtes MySQL se terminent par ";"
Donc ce que vous avez tenter de faire dans votre dernier message c'est de faire exécuter à votre OS la commande use mysql; ce qui pour lui ne signifie rien d'où ce message d'erreur.
Pour reprendre depuis le début la logique de qu'il vous faut faire.
Votre première installation est vérolée. Il faut donc réparer cela. L'idée est donc de lancer le serveur SQL dans un mode qui ne requiert pas de mot de passe root (mot de passe qu'il vous a été normalement demandé de créer lors de la 1ere install). Donc pour modifier tout cela.
Stopper le serveur MySQL.
Vous connecter au serveur avec un mode dégradé ne nécessitant pas de mot de passe root
modifier la table contenant la liste des mots de passe pour créer un nouveau mot de passe pour le compte root
quitter le serveur MySQL
relancer normalement le serveur
vous connecter manuellement au serveur afin de vérifier que le compte root fonctionne bien
seulement à ce moment là, vous pourrez tenter de vous connecter à votre serveur MySQL avec un outil graphique tel que phpMyAdmin.
Il vous faut un minimum connaître les différences entre des commandes linux et des commandes MySQL.
ah !? tu commences à voir clair, et apercevoir le bout de ta patience ?Envoyé par killian68
et alii...Envoyé par N_BaH le 22/08
C'est mon gros défaut, je suis d'un naturel optimiste et obstiné
Et puis rien n'est jamais perdu.
Cependant, je décelé une pointe de sarcasme dans tes propos.... Serais tu légèrement en train de te payer ma tronche . C'est de bonne guerre, mais je ne baisse pas les bras.
Bien sur il faut des bases, mais il faut reconnaître qu'il est parfois difficile quand on débute de savoir réellement par quelles bases commencer. Du coup, je persiste et signe.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager