Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Emacs comme client MySql.

15 réponses
Avatar
valrik
Bonjour =C3=A0 tous,
j'ai vu qu'il =C3=A9tait possible d'utiliser Emacs comme client d'une base =
de
donn=C3=A9es relationnelles avec le langage SQL.

J'ai une base MySql et j'aurais voulu avoir votre avis sur les
fonctionnalit=C3=A9s propos=C3=A9es. Si les projets sont matures par exempl=
e.

De comparer avec emma ou phpMyAdmin aussi. Depuis longtemps, je
travaille avec emma qui n'est pas si mal, mais comme j'utilise beaucoup
Emacs, je souhaiterais unifier mes outils.

Merci et bonne soir=C3=A9e.

10 réponses

1 2
Avatar
Pascal J. Bourguignon
valrik writes:

Bonjour à tous,
j'ai vu qu'il était possible d'utiliser Emacs comme client d'une base de
données relationnelles avec le langage SQL.



En effet. Je connais par exemple pg.el qui permet l'accès à PostGreSQL.
http://www.online-marketwatch.com/pgel/pg.html
https://gitorious.org/com-informatimago/emacs/blobs/master/psql.el


J'ai une base MySql et j'aurais voulu avoir votre avis sur les
fonctionnalités proposées. Si les projets sont matures par exemple.

De comparer avec emma ou phpMyAdmin aussi. Depuis longtemps, je
travaille avec emma qui n'est pas si mal, mais comme j'utilise beaucoup
Emacs, je souhaiterais unifier mes outils.




L'avantage de pg.el, c'est qu'il utilise une connection TCP/IP pour
communiquer avec le serveur PostGreSQL.

Je ne sais pas si la même chose est possible avec MySQL. Pour ce que
j'en sais, pour accéder à un serveur mysql, il faut passer par une
bibliothèque, et malheureusement, emacs n'offre pas de FFI pour le
faire.




--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
Avatar
Daimrod
"Pascal J. Bourguignon" writes:

valrik writes:

Bonjour à tous,
j'ai vu qu'il était possible d'utiliser Emacs comme client d'une ba se de
données relationnelles avec le langage SQL.



En effet. Je connais par exemple pg.el qui permet l'accès à Po stGreSQL.
http://www.online-marketwatch.com/pgel/pg.html
https://gitorious.org/com-informatimago/emacs/blobs/master/psql.el


J'ai une base MySql et j'aurais voulu avoir votre avis sur les
fonctionnalités proposées. Si les projets sont matures par exe mple.

De comparer avec emma ou phpMyAdmin aussi. Depuis longtemps, je
travaille avec emma qui n'est pas si mal, mais comme j'utilise beaucoup
Emacs, je souhaiterais unifier mes outils.




L'avantage de pg.el, c'est qu'il utilise une connection TCP/IP pour
communiquer avec le serveur PostGreSQL.

Je ne sais pas si la même chose est possible avec MySQL. Pour ce que
j'en sais, pour accéder à un serveur mysql, il faut passer par une
bibliothèque, et malheureusement, emacs n'offre pas de FFI pour le
faire.



Je n'ai pas encore eu l'occasion d'utiliser Emacs comme client BDD, mais
plutôt qu'un mode spécifique à une BDD, est-ce qu'il ne sera it pas
possible d'avoir un mode basé sur un ORM ?

Par exemple avoir en local un proxy qui offrirait une interface
générique quelque soit la BDD à laquelle il se connecte en u tilisant un
ORM déjà existant, histoire d'éviter de réinventer la r oue, ensuite
on se connecte à la BDD en passant par le proxy en question ce qui à ©vite
d'avoir 1 mode par type de BDD.
Avatar
Pascal J. Bourguignon
Daimrod writes:

"Pascal J. Bourguignon" writes:

valrik writes:

Bonjour à tous,
j'ai vu qu'il était possible d'utiliser Emacs comme client d'une base de
données relationnelles avec le langage SQL.



En effet. Je connais par exemple pg.el qui permet l'accès à PostGreSQL.
http://www.online-marketwatch.com/pgel/pg.html
https://gitorious.org/com-informatimago/emacs/blobs/master/psql.el


J'ai une base MySql et j'aurais voulu avoir votre avis sur les
fonctionnalités proposées. Si les projets sont matures par exemple.

De comparer avec emma ou phpMyAdmin aussi. Depuis longtemps, je
travaille avec emma qui n'est pas si mal, mais comme j'utilise beaucoup
Emacs, je souhaiterais unifier mes outils.




L'avantage de pg.el, c'est qu'il utilise une connection TCP/IP pour
communiquer avec le serveur PostGreSQL.

Je ne sais pas si la même chose est possible avec MySQL. Pour ce que
j'en sais, pour accéder à un serveur mysql, il faut passer par une
bibliothèque, et malheureusement, emacs n'offre pas de FFI pour le
faire.



Je n'ai pas encore eu l'occasion d'utiliser Emacs comme client BDD, mais
plutôt qu'un mode spécifique à une BDD, est-ce qu'il ne serait pas
possible d'avoir un mode basé sur un ORM ?



C'est le même problème. Dans l'état actuel, emacs ne permet pas
d'utiliser n'importe quelle bibliothèque via un FFI. Seuls des modules
logiciels accessibles via TCP/IP sont envisageable.

Si tu as un ORM disponible via TCP/IP (ou par exemple dbus, puisque
qu'emacs peut être compilé avec accès à dbus), ou encore, via un
programme esclave alors c'est possible.


Par exemple avoir en local un proxy qui offrirait une interface
générique quelque soit la BDD à laquelle il se connecte en utilisant un
ORM déjà existant, histoire d'éviter de réinventer la roue, ensuite
on se connecte à la BDD en passant par le proxy en question ce qui évite
d'avoir 1 mode par type de BDD.



Oui, on peut toujours utiliser un programme esclave (par exemple avec
comint), et lui envoyer les commandes et collecter les résultats. C'est
un peu génant si les résultats ne peuvent pas être retournés sous forme
parsable, mais certains clients SQL sont capable de le faire.


--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
Avatar
Daimrod
"Pascal J. Bourguignon" writes:


C'est le même problème. Dans l'état actuel, emacs ne perm et pas
d'utiliser n'importe quelle bibliothèque via un FFI. Seuls des modu les
logiciels accessibles via TCP/IP sont envisageable.

Si tu as un ORM disponible via TCP/IP (ou par exemple dbus, puisque
qu'emacs peut être compilé avec accès à dbus), ou enc ore, via un
programme esclave alors c'est possible.


Par exemple avoir en local un proxy qui offrirait une interface
générique quelque soit la BDD à laquelle il se connecte e n utilisant un
ORM déjà existant, histoire d'éviter de réinventer l a roue, ensuite
on se connecte à la BDD en passant par le proxy en question ce qui évite
d'avoir 1 mode par type de BDD.



Oui, on peut toujours utiliser un programme esclave (par exemple avec
comint), et lui envoyer les commandes et collecter les résultats. C 'est
un peu génant si les résultats ne peuvent pas être retourn és sous forme
parsable, mais certains clients SQL sont capable de le faire.



Rah c'est vrai qu'il n'y a pas de FFI :(

Mais dans l'idée d'un proxy, l'utilisation de TCP/IP semble plus
indiquée, et hop un truc de plus à tester un jour de tempête …
Avatar
valrik
"Pascal J. Bourguignon" writes:

L'avantage de pg.el, c'est qu'il utilise une connection TCP/IP pour
communiquer avec le serveur PostGreSQL.

Je ne sais pas si la même chose est possible avec MySQL. Pour ce que
j'en sais, pour accéder à un serveur mysql, il faut passer par une
bibliothèque, et malheureusement, emacs n'offre pas de FFI pour le
faire.


Si, c'est également possible avec MySQL, car :
:-) $ awk '/mysql/' /etc/services
mysql 3306/tcp
mysql 3306/udp
mysql-proxy 6446/tcp # MySQL Proxy
mysql-proxy 6446/udp # MySQL Proxy
:-) $
Et je me connecte régulièrement pas ce biais : ma base est sur une
station qui sert un peu à tout.
Avatar
valrik
"Pascal J. Bourguignon" writes:


Si tu as un ORM disponible via TCP/IP (ou par exemple dbus, puisque
qu'emacs peut être compilé avec accès à dbus), ou enc ore, via un
programme esclave alors c'est possible.



Je connais le rôle de dbus, mais cela ne va pas plus loin. Je vais
peut-être avoir un peu de mal à mettre tout cela en pratique.
Avatar
valrik
Bon, merci pour vos réponses.
J'ai l'impression que les utilisateurs francophones d'Emacs comme client
BD ne sont pas légion.
J'avais tout de même dénicher cela avant le post :
http://www.emacswiki.org/emacs/mysql.el
Mais, comme je ne suis pas un exégète du code elisp (je me dà ©brouille
sans plus), je ne l'ai pas encore décortiquer. Ça à l'air de vouloir se
connecter, mais à part cela, ne n'ai encore rien étudié.
Vous en penser quoi ?
En tout cas, cela à l'air d'être facile à mettre en œuv re.

Allez, bon week-end... pluvieux ;-)
Avatar
Pascal J. Bourguignon
valrik writes:

Bon, merci pour vos réponses.
J'ai l'impression que les utilisateurs francophones d'Emacs comme client
BD ne sont pas légion.
J'avais tout de même dénicher cela avant le post :
http://www.emacswiki.org/emacs/mysql.el
Mais, comme je ne suis pas un exégète du code elisp (je me débrouille
sans plus), je ne l'ai pas encore décortiquer. Ça à l'air de vouloir se
connecter, mais à part cela, ne n'ai encore rien étudié.
Vous en penser quoi ?
En tout cas, cela à l'air d'être facile à mettre en ½uvre.



Oui, ça a l'air de fonctionner à peu près comme pg.el.

--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
Avatar
valrik
"Pascal J. Bourguignon" writes:

valrik writes:

Bon, merci pour vos réponses.
J'ai l'impression que les utilisateurs francophones d'Emacs comme client
BD ne sont pas légion.
J'avais tout de même dénicher cela avant le post :
http://www.emacswiki.org/emacs/mysql.el
Mais, comme je ne suis pas un exégète du code elisp (je me d ébrouille
sans plus), je ne l'ai pas encore décortiquer. Ça à l'air de vouloir se
connecter, mais à part cela, ne n'ai encore rien étudié.
Vous en penser quoi ?
En tout cas, cela à l'air d'être facile à mettre en Å “uvre.




Ouh la la! Il faudrait peut-être que je me relise et que je fasse
attention à mes accords ! :-(

Oui, ça a l'air de fonctionner à peu près comme pg.el.


Et, en gros, ça fonctionne comment? Parce que, de mon point de vue, c' est
un peu sec au niveau des commentaires.
Avatar
Eric Marsden
"pjb" == Pascal J Bourguignon writes:







http://www.emacswiki.org/emacs/mysql.el





pjb> Oui, ça a l'air de fonctionner à peu près comme pg.el.

Cette bibliothèque ne fonctionne pas comme pg.el : elle lance le
client mysql localement et communique avec lui via un pipe (alors que
pg.el «parle» le protocole réseau de PostgreSQL).

--
Eric Marsden
1 2