Impossible de se connecter à PostgreSQL local


124

J'ai réussi à brouiller mon environnement de développement local.

Toutes mes applications Rails locales donnent maintenant l'erreur:

PGError
could not connect to server: Permission denied
    Is the server running locally and accepting
    connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

Je n'ai aucune idée de ce qui a causé cela.

Lors de la recherche d'une solution, j'ai mis à jour tous les gemmes groupées, mis à jour les gemmes système, mis à jour MacPorts. Pas de joie.

D'autres ont signalé ce problème lors de la mise à niveau d'OSX Leopard vers Lion, en raison d'une confusion sur la version de Postgres à utiliser (c'est-à-dire la version OSX ou la version MacPorts). Je dirige Lion depuis plusieurs mois, il semble donc étrange que cela se produise maintenant.

Je suis réticent à trop déranger sans comprendre d'abord quel est le problème. Comment puis-je déboguer cela méthodiquement?

Comment puis-je déterminer combien de versions de PostgreSQL se trouvent sur mon système, laquelle est en cours d'accès et où elle se trouve? Comment résoudre ce problème si le mauvais PostgreSQL est utilisé?

Désolé pour les questions noob. J'apprends toujours comment cela fonctionne! Merci pour tous les conseils.

ÉDITER

Quelques mises à jour basées sur les suggestions et commentaires ci-dessous.

J'ai essayé de courir, pg_lsclustersce qui a renvoyé une command not founderreur.

J'ai ensuite essayé de localiser mon fichier pg_hba.conf et j'ai trouvé ces trois exemples de fichiers:

/opt/local/share/postgresql84/pg_hba.conf.sample
/opt/local/var/macports/software/postgresql84/8.4.7_0/opt/local/share/postgresql84/pg_hba.conf.sample
/usr/share/postgresql/pg_hba.conf.sample

Je suppose donc que 3 versions de PSQL sont installées? Macports, OSX par défaut et ???.

J'ai ensuite fait une recherche du script de démarrage launchctl ps -ef | grep postgresqui a renvoyé

0    56     1   0 11:41AM ??         0:00.02 /opt/local/bin/daemondo --label=postgresql84-server --start-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.postgresql84-server/postgresql84-server.wrapper restart ; --pid=none
  500   372     1   0 11:42AM ??         0:00.17 /opt/local/lib/postgresql84/bin/postgres -D /opt/local/var/db/postgresql84/defaultdb
  500   766   372   0 11:43AM ??         0:00.37 postgres: writer process                                                                                                                                                                                                                                                                                                                   
  500   767   372   0 11:43AM ??         0:00.24 postgres: wal writer process                                                                                                                                                                                                                                                                                                               
  500   768   372   0 11:43AM ??         0:00.16 postgres: autovacuum launcher process                                                                                                                                                                                                                                                                                                      
  500   769   372   0 11:43AM ??         0:00.08 postgres: stats collector process                                                                                                                                                                                                                                                                                                          
  501  4497  1016   0 12:36PM ttys000    0:00.00 grep postgres

J'ai publié le contenu de postgresql84-server.wrapper à http://pastebin.com/Gj5TpP62 .

J'ai essayé de courir port load postgresql184-servermais j'ai reçu une erreur Error: Port postgresql184-server not found.

Je ne sais toujours pas comment résoudre ce problème et j'apprécie les pointeurs "pour les nuls".

Merci!

EDIT2

Ce problème a commencé après que j'ai eu quelques problèmes avec daemondo. Mes applications Rails locales plantaient avec une erreur d'application du type "daemondo gem can not be found". J'ai ensuite parcouru une série de mises à jour de bundles, de mises à jour de gemmes, de mises à jour de port et de mises à jour de brassage pour essayer de trouver le problème.

Cette erreur pourrait-elle être un problème avec le daemondo?


Notez que lorsque votre application se connecte, elle se connecte via le port tcp au lieu du socket de domaine unix. Vous devez donc configurer postgres pour accepter les connexions réseau, au moins depuis localhost.
Paul Tomblin

Pourquoi le croyez-vous? De toute évidence, les pilotes essaient de se connecter via le socket Unix. Bien qu'ils recherchent la prise au mauvais endroit.
Milen A. Radev


Exactement. Cela semble être une chose mac. OP pourrait utiliser l'indicateur -h, après avoir vérifié que le postmaster est en cours d'exécution.
wildplasser

Veuillez publier la sortie de pg_lsclusterset votre pg_hba.conffichier.
tscho

Réponses:


66

Cela ressemble vraiment à une erreur d'autorisations de fichiers. Les sockets de domaine Unix sont des fichiers et ont des autorisations utilisateur comme les autres. Il semble que l'utilisateur OSX qui tente d'accéder à la base de données ne dispose pas des autorisations de fichier pour accéder au fichier socket. Pour confirmer cela, j'ai fait quelques tests sur Ubuntu et psql pour essayer de générer la même erreur (incluse ci-dessous).

Vous devez vérifier les autorisations sur le fichier socket et ses répertoires /varet /var/pgsql_socket. Votre application Rails (utilisateur OSX) doit avoir des autorisations d'exécution (x) sur ces répertoires (accordez de préférence des autorisations à tout le monde) et le socket doit avoir des autorisations complètes (wrx). Vous pouvez utiliser ls -lAd <file>pour les vérifier, et si l'un d'entre eux est un lien symbolique, vous devez vérifier le fichier ou le répertoire vers lequel le lien pointe.

Vous pouvez modifier les autorisations sur le répertoire pour vous-même, mais le socket est configuré par postgres dans postgresql.conf. Cela peut être trouvé dans le même répertoire que pg_hba.conf(Vous devrez déterminer lequel). Une fois que vous avez défini les autorisations, vous devrez redémarrer postgresql.

# postgresql.conf should contain...
unix_socket_directory = '/var/run/postgresql'       # dont worry if yours is different
#unix_socket_group = ''                             # default is fine here
#unix_socket_permissions = 0777                     # check this one and uncomment if necessary.

ÉDITER:

J'ai fait une recherche rapide sur google que vous voudrez peut-être examiner pour voir si elle est pertinente. Cela pourrait entraîner l' findéchec de toute tentative de votre fichier de configuration.

http://www.postgresqlformac.com/server/howto_edit_postgresql_confi.html


Messages d'erreur:

Utilisateur introuvable dans pg_hba.conf

psql: FATAL:  no pg_hba.conf entry for host "[local]", user "couling", database "main", SSL off

L'utilisateur a échoué l'authentification du mot de passe:

psql: FATAL:  password authentication failed for user "couling"

Fichier socket unix manquant:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Le socket Unix existe, mais le serveur ne l'écoute pas.

psql: could not connect to server: Connection refused
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Mauvaises autorisations de fichier sur le fichier socket unix :

psql: could not connect to server: Permission denied
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

1
merci pour ces idées @couling. Cela semble être la bonne direction. Mais il y a quelque chose de très étrange avec ma configuration. Gardez à l'esprit que cela fonctionnait parfaitement jusqu'à récemment. J'ai parcouru les trois répertoires postgres de mon système, ils contiennent tous des fichiers conf.sample (pg_hba, pg_ident, pg_service, etc.) mais pas de fichiers .conf. Cela ne devrait pas être le cas, n'est-ce pas? Le répertoire qui doit contenir .s.PGSQL.5432 est également vide. Au lieu de cela, j'ai un fichier situé dans /private/tmp/.s.PGSQL.5432.lock. PSrenvoie les processus postgres pour qu'il s'exécute. Confus!
Andy Harvey

J'ai ajouté un lien supplémentaire. Autant que je sache, vous ne pouvez pas vraiment avoir postgresql sans postgresql.conf (même s'il a été renommé). Votre première tâche doit être de trouver cela.
Philip Couling

1
il a fallu un certain temps pour parcourir mes répertoires et trouver les bons fichiers, mais c'était effectivement le problème. Merci pour la réponse très détaillée. Une fois que j'avais trouvé le bon répertoire, je devais définir le répertoire de socket, le répertoire de données, hba_file et ident_file dans postgresql.conf. Je vous remercie!
Andy Harvey

1
Pourrait aider certaines personnes: j'ai utilisé brew pour installer postgres sous mon compte. Dans mon cas, il s'est avéré que le dossier / var / pgsql_socket / appartenait à l'utilisateur _postgres et le changement de propriété sur mon compte (darren) a résolu ce problème. Vous ne savez pas pourquoi Brew n'a pas défini correctement la propriété de ce dossier en premier lieu ...?
Darren Jensen

Merci couling. Je n'ai pas pu me connecter et configurer le répertoire unix_socket_directory était la bonne chose à faire.
Ryan Bigg

41

Mon instinct est que c'est (encore) une chose mac / OSX: le frontal et le back-end supposent un emplacement différent pour la socket du domaine unix (qui fonctionne comme un point de rendez - vous ).

Liste de contrôle:

  • Postgres fonctionne-t-il: ps aux | grep postgres | grep -v grepdevrait faire l'affaire
  • Où se trouve le socket: find / -name .s.PGSQL.5432 -ls( le socket se trouvait auparavant dans / tmp; vous pouvez commencer à y chercher)
  • même si vous localisez le socket (domaine unix), le client peut utiliser un emplacement différent. (cela se produit si vous mélangez des distributions, ou si vous avez une distribution installée quelque part et en avez une autre (par exemple à partir de la source) ailleurs), avec le client et le serveur utilisant des adresses de rendez-vous différentes .

Si postgres est en cours d'exécution et que le socket existe réellement, vous pouvez utiliser:

  • psql -h /the/directory/where/the/socket/was/found mydbname

(qui tente de se connecter au socket du domaine unix)

; vous devriez maintenant obtenir l'invite psql: essayez \dpuis \qde quitter. Vous pouvez également essayer:

  • psql -h localhost mydbname.

(qui tente de se connecter à localhost (127.0.0.1)

Si ces tentatives échouent en raison d'une autorisation insuffisante, vous pouvez modifier pg_hba.conf (et SIGHUP ou redémarrer) Dans ce cas: vérifiez également les journaux.

Une question similaire: impossible de démarrer Postgres

Remarque: Si vous pouvez accéder à l'invite psql, la solution rapide à ce problème consiste simplement à modifier votre config/database.yml, ajoutez:

host: localhost

ou vous pouvez essayer d'ajouter:

host: /the/directory/where/the/socket/was/found

Dans mon cas, host: /tmp


1
@wildplasser merci pour votre réponse. Cela m'a permis de démarrer dans la bonne direction et la réponse détaillée de Couling a donné la solution.
Andy Harvey du

6
L'ajout de l'hôte: localhost à ma base de données.yml a résolu mon problème. Merci :)
Automatico

1
le mien est dans / privé / .... bizarrerie. Je l'ai installé, mais cet ordinateur portable avait trop de problèmes auparavant. Bizarre. cette database.yml était la clé!
pjammer

4
Bizarre. L'ajout de "localhost" à mon database.yml a également fonctionné, mais pourquoi? Je n'avais pas cela avant et tout fonctionnait bien. Mais je ne pense pas avoir ajouté quoi que ce soit récemment et du coup c'était déjà comme ça. > _ <
index

1
le truc pour moi ici était le chemin du socket - il était dans / run not / var / run - merci!
qodeninja

26

Essayez de désinstaller le pg gem ( gem uninstall pg) puis de le réinstaller - si vous utilisez bundler, alors bundle install, sinon gem install pg. Aussi, assurez-vous que le chemin choisit la bonne version: Lion a une version de posgresql (les versions précédentes n'en avaient pas) et il se peut qu'il se trouve dans le chemin avant votre version installée localement (par exemple MacPorts, homebrew).

Dans mon cas: installation homebrew de postgresql, postgresql mis à jour, rails, etc., puis obtenu cette erreur. La désinstallation et la réinstallation du pg gem l'ont fait pour moi.


8
bundle exec gem pristine pg <== fera également l'affaire
Ben Walding

Je n'ai aucun doute que l'erreur de l'OP peut être causée par un certain nombre de choses, mais c'est la solution qui a fonctionné pour moi.
redhotvengeance

20

L'emplacement du fichier de socket est intégré dans le gem au moment de la compilation. Vous devez donc reconstruire votre gem pg.

gem pristine pg
# or
bundle exec gem pristine pg

Cela devrait résoudre ce problème particulier.


J'ai commencé à avoir le problème décrit dans cette question après avoir mis à niveau Postgres de 9.1x à 9.3x. Cette réponse l'a corrigé pour moi (tout comme l'ajout de 'localhost' à mon database.yml, mais j'aime mieux cette approche).
Joshua Flanagan

16

Si vous obtenez une erreur similaire:

psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Cela pourrait faire l'affaire (cela a fait pour moi):

initdb /usr/local/var/postgres -E utf8

Le répertoire spécifié doit être différent si vous n'utilisez pas OSX / Brew.

Remarque: ce n'est pas le message d'erreur exact vu ci-dessus, mais ce fil est le premier résultat de ce message d'erreur.


6
Je finis toujours par avoir ce problème de temps en temps, mais c'est la première fois que je le résolve avec CETTE solution. Aussi, dû rm -fr /usr/local/var/postgresavant de couririnitb
Raf

1
Après avoir fait cela (à la fois Neal et Raf), j'ai obtenu une erreur de base de données "Fatal". Alors a lancé "rake db: create: all" et "rake db: migrate" et finalement tout a fonctionné à nouveau.
Deborah

Je devais aussi faire rm -rf /usr/local/var/postgresalors initdb /usr/local/var/postgres -E utf8. Mais assurez-vous que postgres ne fonctionne pas lorsque vous faites cela, sinon le répertoire est recréé presque immédiatement.
Josh W Lewis

8

ce qui a résolu cette erreur pour moi a été de supprimer un fichier appelé postmaster.pid dans le répertoire postgres. Veuillez consulter ma question / réponse en utilisant le lien suivant pour des instructions étape par étape. mon problème n'était pas lié aux autorisations de fichier:

psql: impossible de se connecter au serveur: aucun fichier ou répertoire de ce type (Mac OS X)

les personnes qui ont répondu à cette question ont laissé tomber beaucoup de jeu, merci pour cela! j'ai voté tout ce que je pouvais


Étant donné que la réponse acceptée ici note un problème d'autorisations de fichiers, il semble évident que votre message et celui-ci ne sont pas liés.
Andrew Barber

7

C'est ainsi que j'ai résolu ce message d'erreur, basé en partie sur la réponse de wildplasser.

find / -name .s.PGSQL.5432 -ls 2> /dev/null
  => ... /tmp/.s.PGSQL.5432

Donc, il y a ma socket ou autre chose, mais le client la recherche sur:

/var/run/postgresql/.s.PGSQL.5432

Alors faites tout simplement un lien symbolique vers le /tmp/.s.PGSQL.5432:

sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

J'espère que cela aide à n'importe qui. Cela semble un peu faux, mais bon, ça marche!


1
Cela a fonctionné pour moi: sudo ln -s /tmp/.s.PGSQL.5432 /var/pgsql_socket/.s.PGSQL.5432
ardochhigh

Merci :) Cela a aidé. Mais avant de créer un lien symbolique, n'oubliez pas de créer un sudo mkdir /var/run/postgresqldossier (dans mon cas, l'id n'existait pas et n'a pas été créé par l'installateur pour pg 9.3.X).
kovpack

2
Oh, cette solution s'est avérée être une solution `` unique '' que je devais refaire après chaque redémarrage. Pour Rails, j'ai trouvé une autre solution - modifier le fichier de configuration de la base de données (réponse ajoutée ci-dessous).
kovpack

6

J'ai commencé à l'obtenir après la mise à niveau vers un nouveau postgres - je ne savais pas que j'avais des fichiers de données en attente.

J'ai d'abord essayé de démarrer le serveur postgres:

postgres -D /usr/local/var/postgres

c'est ainsi que j'ai vu cette erreur

FATAL:  database files are incompatible with server
DETAIL:  The data directory was initialized by PostgreSQL version 9.0, which is not compatible with this version 9.3.5.

Alors j'ai trouvé cette réponse sur SO - liée à une erreur d'incompatibilité: /server/342626/how-do-i-upgrade-postgresl-database-incompatibility-error

C'est ce qui l'a réparé

mv /usr/local/var/postgres /usr/local/var/postgres.old
initdb -D /usr/local/var/postgres

4

Je confirme juste que j'ai eu un problème similaire sur PSQL et Django,

On dirait que mon serveur psql n'a pas été arrêté correctement et que le fichier postmaster.pid était toujours présent (devrait être supprimé automatiquement lors de l'arrêt correct) dans mon dossier postgres.

Supprimé cela et tout va bien


2
C'est ce qui a résolu le problème pour moi. Mon ordinateur a gelé et j'ai dû procéder à un arrêt brutal. Quand je l'ai redémarré, postgres disait que le psql: could not connect to server: No such file or directory.retrait postmaster.pidde /usr/local/var/postgrestout fonctionnait à nouveau.
Ryan Epp

1
C'est aussi ce qui m'est arrivé. Mon mac a redémarré à cause d'une panique du noyau et j'ai dû supprimer postmaster.pid avant de retourner au travail.
Ben

4

J'obtenais la même erreur (il s'avère que c'était une erreur avec postmaster.pid. Voici comment j'ai remis en marche postgres ( merci à Ricardo Burillo pour le correctif ):

$ rm /usr/local/var/postgres/postmaster.pid 
$ pg_resetxlog -f /usr/local/var/postgres

Cela a fonctionné pour moi, bien que le pg_resetxlogfichier de verrouillage renvoyé "postmaster.pid" existe.
Elise

3

J'ai eu un problème similaire en essayant d'utiliser postgresql avec des rails. La mise à jour de mon Gemfile pour utiliser la nouvelle version de gem pg résout ce problème pour moi. (la version 0.16.0 de gem pg fonctionne). Dans l'utilisation Gemfile:

gem 'pg', '0.16.0'

puis exécutez ce qui suit pour mettre à jour le gem

bundle install --without production
bundle update
bundle install

1
Cela a également résolu le problème pour moi. J'étais sur 0.15.1 après avoir traversé la version bêta de Rails 4.0 et j'utilise maintenant Ruby 2.0.0. Une fois que je suis passé à la page 0.16.0, le problème a été résolu.
bratsche

Résolu le problème pour moi sur 4.1.0.beta1
Andreas

3

J'ai lu de nombreux sujets sur cette erreur et la solution pour moi était de simplement redémarrer les postgres avec:

sudo service postgresql restart

Ce qui n'est pas mentionné ici.


3
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Je cherche la solution pendant un moment. Donc, celui-ci a également résolu le problème pour moi (reinit db):

rm -r /usr/local/var/postgres  
initdb /usr/local/var/postgres -E utf8  
pg_ctl -D /usr/local/var/postgres -l logfile start

J'utilise OS X 10.11.3 avec brew.


2

Cela m'est arrivé aujourd'hui après la mort de la batterie de mon Macbook. Je pense que cela peut être causé par un arrêt incorrect. Tout ce que vous avez à faire dans des cas comme le mien est de supprimer postmaster.pid

Accédez au dossier

cd /usr/local/var/postgres

Vérifiez si postmaster.pid est présent

ls

Supprimer postmaster.pid

rm postmaster.pid

2

Dans mon cas, aucune des solutions précédentes n'était bonne. Au lieu d'utiliser socket, vous pouvez utiliser le numéro TCP host+ portdans le fichier de configuration de Rails. Donc, dans le database.ymlfichier, ajoutez simplement deux lignes comme ici:

...
adapter: postgresql
encoding: unicode
pool: 5
host: localhost
port: 5432

Cela a résolu mon problème :)

Avant d'utiliser ce correctif:

sudo mkdir /var/run/postgresql
sudo ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432

Mais après chaque redémarrage a /tmp/.s.PGSQL.5432été supprimé et j'ai dû répéter ces commandes. La solution fonctionne, mais c'est horrible, alors mieux vaut simplement modifier le fichier de configuration de la base de données Rails :)


2

Vous avez cette erreur lorsque j'ai configuré Posgtres avec Django, j'utilise Back Track et il est livré avec Postgres installé. Je suppose que les paramètres sont le problème. Je l'ai réparé en le supprimant complètement puis en le réinstallant comme ça.

sudo apt-get remove postgresql
sudo apt-get purge postgresql

Maintenant, exécutez:

apt-get --purge remove postgresql\*

pour supprimer tout PostgreSQL de votre système. Il ne suffit pas de purger le paquet postgres puisqu'il ne s'agit que d'un méta-paquet vide.

Une fois que tous les packages PostgreSQL ont été supprimés, exécutez:

rm -r /etc/postgresql/
rm -r /etc/postgresql-common/
rm -r /var/lib/postgresql/
userdel -r postgres
groupdel postgres

Vous devriez maintenant pouvoir:

apt-get install postgresql

1

MacOSX ici. J'ai eu le même problème après la mise à niveau de mon installation postresql d'une pré-9.1 à 9.1.2 en utilisant homebrew. (Au fait, n'oubliez pas de vider les bases de données avant votre mise à niveau avec pg_dump, les bases de données antérieures à la version 9.1 sont incompatibles.) Même problème, mêmes messages d'erreur.

La désinstallation du gem pg a fait l'affaire pour moi. J'ai en fait dû faire pas mal de danse pour découvrir le problème. J'ai d'abord procédé à une désinstallation globale des gemmes, en supprimant toutes les anciennes gemmes (il y en avait quelques-unes). Ensuite, j'ai retiré pg de mon Gemfile, réorganisé, restauré la référence pg et rebondi une fois de plus.

Après cela, cela a fonctionné comme un charme.


1

Bonjour tout le monde :)
La meilleure mais étrange façon pour moi était de faire les choses suivantes.

1) Téléchargez postgres93.app ou une autre version. Ajoutez cette application dans le dossier / Applications /.

2) Ajoutez une ligne (commande) dans le fichier .bash_profile(qui se trouve dans mon répertoire personnel):

export PATH = / Applications / Postgres93.app / Contenu / MacOS / bin /: $ PATH
C'est un CHEMIN à psqlpartir de Postgres93.app. La ligne (commande) s'exécute à chaque démarrage de la console.

3) Lancer à Postgres93.apppartir du /Applications/dossier. Il démarre un serveur local (le port est "5432" et l'hôte est "localhost").

4) Après toutes ces manipulations, j'étais heureux d'exécuter $ createuser -SRDP user_nameet d'autres commandes et de voir que cela fonctionnait! Postgres93.apppeut être exécuté à chaque démarrage de votre système.

5) Aussi, si vous voulez voir vos bases de données graphiquement, vous devez installer PG Commander.app. C'est un bon moyen de voir votre base de données postgres comme de jolies tables de données

Bien sûr, cela n'est utile que pour le serveur local. Je serai heureux si ces instructions aident ceux qui ont été confrontés à ce problème.


0

J'ai eu ce problème qui me tourmentait, et après une enquête plus approfondie (en cours d'exécution rake db:setup), j'ai vu que les rails essayaient de se connecter à une instance postgres précédemment utilisée - une qui était stockée dans des variables env comme DATABASE_URL.

Le correctif: unset DATABASE_URL

source: https://stackoverflow.com/a/17420624/2577622


0

J'ai essayé la plupart des solutions à ce problème mais je n'ai pas réussi à en faire fonctionner.

J'ai couru lsof -P | grep ':5432' | awk '{print $2}'qui a montré le PID du processus en cours d'exécution. Cependant, je ne pouvais pas le tuer avec kill -9 <pid>.

Quand j'ai exécuté pkill postgresqlle processus s'est finalement arrêté. J'espère que cela t'aides.


0
gem uninstall pg

Sur OS X avec Homebrew:

gem install pg -- --with-pg-config=/usr/local/bin/pg_config
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.