Tutorials/Shared Database/fr: Difference between revisions

From KDE UserBase Wiki
(Created page with "Tutoriels/Base de données partagée")
 
(Created page with "'''digiKam''' est également livré avec un outil de migration de base de données pratique, disponible dans <menuchoice>Paramètres -> Migration de base de données</menuchoice>. Remplissez vos paramètres de base de données précédents (vous n'avez rien à faire si vous n'avez pas modifié ces options) sur le côté gauche et vos nouveaux paramètres sur le côté droit, puis cliquez sur <menuchoice>Migrer</menuchoice>.")
 
(10 intermediate revisions by the same user not shown)
Line 4: Line 4:
== Base de données partagée ==
== Base de données partagée ==


There are several desktop applications for KDE that deal with some kind of a database. The most popular are probably '''Amarok''' the music player, '''digiKam''' the photo manager, and '''Akonadi''' the personal information framework.
Il existe plusieurs applications de bureau pour KDE qui gèrent une sorte de base de données. Les plus populaires sont probablement '''Amarok''' le lecteur de musique, '''digiKam''' le gestionnaire de photos et '''Akonadi''' le cadre d'informations personnelles.
To simplify their installation and limit their requirements, each of these programs ship a database of their own, in most cases using '''SQLite'''. Having many separate databases creates unnecessary overhead, and makes it more difficult to back up your data.
Pour simplifier leur installation et limiter leurs besoins, chacun de ces programmes embarque sa propre base de données, utilisant dans la plupart des cas '''SQLite'''. Avoir de nombreuses bases de données distinctes crée une surcharge inutile et rend plus difficile la sauvegarde de vos données.


=== Database server ===
<span id="Database_server"></span>
=== Serveur de base de données ===


The only database universally supported in these programs is '''MySQL''', so this is what we well use. It is also very easy to configure, either by command-line or with graphics tools.
La seule base de données universellement supportée par ces programmes est '''MySQL''', c'est donc celle que nous utilisons bien. Elle est également très simple à configurer, soit en ligne de commande, soit avec des outils graphiques.


==== Installation ====
==== Installation ====


First, we have to install the mysql server. Linux users will probably want to install a package from their distribution, other can get it from [https://www.mysql.com/ their homepage]. Instructions to start '''MySQL''' at boot are distribution-specific, but since '''MySQL''' is a popular package, they shouldn't be hard to find. During the installation, the installer will probably ask you for a root password. Choose a secure password for this and remember it, this account will not be used by the desktop applications but only for database administration.
Tout d’abord, nous devons installer le serveur MySQL. Les utilisateurs de Linux voudront probablement installer un package à partir de leur distribution, d'autres pourront l'obtenir depuis [https://www.mysql.com/ leur page d'accueil]. Les instructions pour démarrer '''MySQL''' au démarrage sont spécifiques à la distribution, mais comme '''MySQL''' est un package populaire, elles ne devraient pas être difficiles à trouver. Lors de l'installation, le programme d'installation vous demandera probablement un mot de passe root. Choisissez un mot de passe sécurisé pour cela et souvenez-vous-en, ce compte ne sera pas utilisé par les applications de bureau mais uniquement pour l'administration de la base de données.


==== Configuration ====
==== Configuration ====
Line 19: Line 20:
For the server configuration, this we will assume that your database server is not used over the network, contains no sensitive data, and that you trust your applications. If you plan to use this database for '''Akonadi''' data, it's best if you copy the configuration file from the '''Akonadi''' code repository, which can be downloaded at [https://projects.kde.org/projects/kdesupport/akonadi/repository/revisions/master/entry/server/src/storage/mysql-global.conf here]. Make a copy of your existing <code>/etc/mysql/my.cnf</code>, then replace it with the downloaded file.
For the server configuration, this we will assume that your database server is not used over the network, contains no sensitive data, and that you trust your applications. If you plan to use this database for '''Akonadi''' data, it's best if you copy the configuration file from the '''Akonadi''' code repository, which can be downloaded at [https://projects.kde.org/projects/kdesupport/akonadi/repository/revisions/master/entry/server/src/storage/mysql-global.conf here]. Make a copy of your existing <code>/etc/mysql/my.cnf</code>, then replace it with the downloaded file.


{{Warning| This file disables ''network access'' and ''user authentication''. The latter means that any application from your computer can connect to it without a password. This makes configuration of programs easier, and is well-suited for the general desktop use case.}}
{{Warning| Ce fichier désactive « l'accès au réseau » et « l'authentification de l'utilisateur ». Ce dernier signifie que n'importe quelle application de votre ordinateur peut s'y connecter sans mot de passe. Cela facilite la configuration des programmes et convient bien au cas d’utilisation général du bureau.}}


==== Creating the databases ====
<span id="Creating_the_databases"></span>
==== Création des bases de données ====


The first thing we have to do once '''MySQL''' is installed and running is add a separate database for each program. I generally name them after the programs that use them. This can be done with either GUI administration tools, but since we only have to do it once it's probably faster to write a few commands:
La première chose que nous devons faire une fois '''MySQL''' installé et exécuté consiste à ajouter une base de données distincte pour chaque programme. Je leur donne généralement le nom des programmes qui les utilisent. Cela peut être fait avec l'un ou l'autre des outils d'administration GUI, mais comme nous ne devons le faire qu'une seule fois, il est probablement plus rapide d'écrire quelques commandes :
{{Input|1=$ mysql -u root -p}}
{{Input|1=$ mysql -u root -p}}
At the password prompt, type in the root password set when installing '''MySQL'''. Now we can start creating databases. For example, to create a database named 'amarok', type in this command:
À l'invite du mot de passe, saisissez le mot de passe root défini lors de l'installation de '''MySQL'''. Nous pouvons maintenant commencer à créer des bases de données. Par exemple, pour créer une base de données nommée « amarok », tapez cette commande :
{{Input|1=mysql> create database amarok;}}
{{Input|1=mysql> create database amarok;}}


=== Amarok ===
=== Amarok ===


'''Amarok''' requires very little configuration, but it doesn't provide a way to migrate your old database. Go to <menuchoice>Settings -> Configure Amarok...</menuchoice> and go to the <menuchoice>Database</menuchoice> tab.
'''Amarok''' nécessite très peu de configuration, mais il ne permet pas de migrer votre ancienne base de données. Allez dans <menuchoice>Paramètres -> Configurer Amarok...</menuchoice> et allez dans l'onglet <menuchoice>Base de données</menuchoice>.
Fill in <code>localhost</code> in the <menuchoice>Server</menuchoice> textfield, <code>3306</code> in <menuchoice>Port</menuchoice>, and <code>amarok</code> in <menuchoice>Database</menuchoice>.
Remplissez <code>localhost</code> dans le champ de texte <menuchoice>Serveur</menuchoice>, <code>3306</code> dans <menuchoice>Port</menuchoice>, et <code>amarok</code> dans <menuchoice>Base de données</menuchoice>.


[[Image:Amarok-mysql-configuration.png|500px|center]]
[[Image:Amarok-mysql-configuration.png|500px|center]]
Line 37: Line 39:
=== digiKam ===
=== digiKam ===


{{Note|digiKam used to have a bug which prevented the same from working in versions prior to 2.0, so you will need a newer version of the program. In version 2.0 is still doesn't work perfectly: it pops up an error message at startup, but the tables are populated and the album data is stored correctly. }}
{{Note|DigiKam avait un bug qui l'empêchait de fonctionner dans les versions antérieures à 2.0, vous aurez donc besoin d'une version plus récente du programme. Dans la version 2.0, cela ne fonctionne toujours pas parfaitement : un message d'erreur apparaît au démarrage, mais les tableaux sont remplis et les données de l'album sont stockées correctement. }}
'''digiKam''' is somewhat special because it requires two databases: one for the images metadata, and one for thumbnails. Their names are not important, I chose to call them <code>digikam</code> and <code>digikam_thumb</code>:
'''digiKam''' est un peu spécial car il nécessite deux bases de données : une pour les métadonnées des images et une pour les vignettes. Leurs noms n'ont pas d'importance, j'ai choisi de les appeler <code>digikam</code> et <code>digikam_thumb</code> :


{{Input|1=mysql> create database digikam;
{{Input|1=mysql> create database digikam;
Line 44: Line 46:
}}
}}


In '''digiKam''', the process is very similar to that of '''Amarok'''. The settings are located in <menuchoice>Settings -> Configure digiKam... -> Database</menuchoice>.
Dans '''digiKam''', le processus est très similaire à celui de '''Amarok'''. Les paramètres se trouvent dans <menuchoice>Paramètres -> Configurer digiKam... -> Base de données</menuchoice>.


[[Image:digiKam-mysql-configuration.png|500px|center]]
[[Image:digiKam-mysql-configuration.png|500px|center]]


'''digiKam''' also comes with a handy database migration tool, available in <menuchoice>Settings -> Database Migration</menuchoice>. Fill in your previous database settings (you don't have to do anything if you haven't changed these options) on the left side and your new settings on the right side, then click <menuchoice>Migrate</menuchoice>.
'''digiKam''' est également livré avec un outil de migration de base de données pratique, disponible dans <menuchoice>Paramètres -> Migration de base de données</menuchoice>. Remplissez vos paramètres de base de données précédents (vous n'avez rien à faire si vous n'avez pas modifié ces options) sur le côté gauche et vos nouveaux paramètres sur le côté droit, puis cliquez sur <menuchoice>Migrer</menuchoice>.


[[Image:digiKam-mysql-migration.png|500px|center]]
[[Image:digiKam-mysql-migration.png|500px|center]]
Line 54: Line 56:
== Akonadi ==
== Akonadi ==


First create a database for '''Akonadi''':
Créez d’abord une base de données pour '''Akonadi''':
{{Input|1=mysql -u root -p
{{Input|1=mysql -u root -p
create database akonadi;}}
create database akonadi;}}
'''Akonadi''' is not supposed to be a user-facing tool, so there is no configuration GUI for it. However, you can edit
'''Akonadi''' n'est pas censé être un outil destiné à l'utilisateur, il n'y a donc pas d'interface graphique de configuration pour celui-ci. Cependant, vous pouvez modifier
<code>~/.config/akonadi/akonadiserverrc</code> to have these contents:
<code>~/.config/akonadi/akonadiserverrc</code> pour avoir ces contenus :


{{Input|1=[%General]
{{Input|1=[%General]
Line 70: Line 72:
ServerPath=/usr/bin/mysqld}}
ServerPath=/usr/bin/mysqld}}


Save the file, then log out and log in back again.
Enregistrez le fichier, puis déconnectez-vous et reconnectez-vous.


[[Category:Tutorials]]
[[Category:Tutorials]]
[[Category:Advanced Users]]
[[Category:Advanced Users]]

Latest revision as of 18:58, 24 May 2024

Base de données partagée

Il existe plusieurs applications de bureau pour KDE qui gèrent une sorte de base de données. Les plus populaires sont probablement Amarok le lecteur de musique, digiKam le gestionnaire de photos et Akonadi le cadre d'informations personnelles. Pour simplifier leur installation et limiter leurs besoins, chacun de ces programmes embarque sa propre base de données, utilisant dans la plupart des cas SQLite. Avoir de nombreuses bases de données distinctes crée une surcharge inutile et rend plus difficile la sauvegarde de vos données.

Serveur de base de données

La seule base de données universellement supportée par ces programmes est MySQL, c'est donc celle que nous utilisons bien. Elle est également très simple à configurer, soit en ligne de commande, soit avec des outils graphiques.

Installation

Tout d’abord, nous devons installer le serveur MySQL. Les utilisateurs de Linux voudront probablement installer un package à partir de leur distribution, d'autres pourront l'obtenir depuis leur page d'accueil. Les instructions pour démarrer MySQL au démarrage sont spécifiques à la distribution, mais comme MySQL est un package populaire, elles ne devraient pas être difficiles à trouver. Lors de l'installation, le programme d'installation vous demandera probablement un mot de passe root. Choisissez un mot de passe sécurisé pour cela et souvenez-vous-en, ce compte ne sera pas utilisé par les applications de bureau mais uniquement pour l'administration de la base de données.

Configuration

For the server configuration, this we will assume that your database server is not used over the network, contains no sensitive data, and that you trust your applications. If you plan to use this database for Akonadi data, it's best if you copy the configuration file from the Akonadi code repository, which can be downloaded at here. Make a copy of your existing /etc/mysql/my.cnf, then replace it with the downloaded file.

Warning

Ce fichier désactive « l'accès au réseau » et « l'authentification de l'utilisateur ». Ce dernier signifie que n'importe quelle application de votre ordinateur peut s'y connecter sans mot de passe. Cela facilite la configuration des programmes et convient bien au cas d’utilisation général du bureau.


Création des bases de données

La première chose que nous devons faire une fois MySQL installé et exécuté consiste à ajouter une base de données distincte pour chaque programme. Je leur donne généralement le nom des programmes qui les utilisent. Cela peut être fait avec l'un ou l'autre des outils d'administration GUI, mais comme nous ne devons le faire qu'une seule fois, il est probablement plus rapide d'écrire quelques commandes :

$ mysql -u root -p

À l'invite du mot de passe, saisissez le mot de passe root défini lors de l'installation de MySQL. Nous pouvons maintenant commencer à créer des bases de données. Par exemple, pour créer une base de données nommée « amarok », tapez cette commande :

mysql> create database amarok;

Amarok

Amarok nécessite très peu de configuration, mais il ne permet pas de migrer votre ancienne base de données. Allez dans Paramètres -> Configurer Amarok... et allez dans l'onglet Base de données. Remplissez localhost dans le champ de texte Serveur, 3306 dans Port, et amarok dans Base de données.

digiKam

Note

DigiKam avait un bug qui l'empêchait de fonctionner dans les versions antérieures à 2.0, vous aurez donc besoin d'une version plus récente du programme. Dans la version 2.0, cela ne fonctionne toujours pas parfaitement : un message d'erreur apparaît au démarrage, mais les tableaux sont remplis et les données de l'album sont stockées correctement.

digiKam est un peu spécial car il nécessite deux bases de données : une pour les métadonnées des images et une pour les vignettes. Leurs noms n'ont pas d'importance, j'ai choisi de les appeler digikam et digikam_thumb :

mysql> create database digikam;
mysql> create database digikam_thumb;

Dans digiKam, le processus est très similaire à celui de Amarok. Les paramètres se trouvent dans Paramètres -> Configurer digiKam... -> Base de données.

digiKam est également livré avec un outil de migration de base de données pratique, disponible dans Paramètres -> Migration de base de données. Remplissez vos paramètres de base de données précédents (vous n'avez rien à faire si vous n'avez pas modifié ces options) sur le côté gauche et vos nouveaux paramètres sur le côté droit, puis cliquez sur Migrer.

Akonadi

Créez d’abord une base de données pour Akonadi:

mysql -u root -p
create database akonadi;

Akonadi n'est pas censé être un outil destiné à l'utilisateur, il n'y a donc pas d'interface graphique de configuration pour celui-ci. Cependant, vous pouvez modifier ~/.config/akonadi/akonadiserverrc pour avoir ces contenus :

[%General]
Driver=QMYSQL

[QMYSQL]
Name=akonadi
Host=localhost
StartServer=false
Options=
ServerPath=/usr/bin/mysqld

Enregistrez le fichier, puis déconnectez-vous et reconnectez-vous.