À propos du projet
pgAdmin 4 est une plateforme de gestion et de développement pour la base de données PostgreSQL, décrite comme une réécriture de l'ancien outil pgAdmin3. Elle est implémentée comme une application web : Python (Flask) côté serveur, avec ReactJS, HTML5 et CSS pour l'interface utilisateur côté client.
Options de déploiement : elle peut s'exécuter sur un serveur web et être accessible via un navigateur, ou fonctionner de manière autonome sur un poste de travail via une application d'exécution basée sur Electron située dans le sous-répertoire runtime/, qui lance un processus serveur Python et affiche l'interface utilisateur.
Prérequis indiqués dans le README : Node.js 20 ou version ultérieure, yarn (activé via Corepack), Python 3.9 ou version ultérieure, et un serveur PostgreSQL.
Flux de travail de compilation : les bibliothèques JavaScript tierces ainsi que les JS, CSS et images propres au projet sont compilés dans un bundle. Sur les systèmes *nix, cela se fait avec make install-node et make bundle ; sous Windows, yarn install et yarn run bundle dans le répertoire web.
Configuration de l'environnement Python : créer et activer un environnement virtuel, mettre à niveau pip, s'assurer que le répertoire bin/ de PostgreSQL est dans le PATH afin que pg_config puisse être trouvé pour compiler psycopg3, puis installer requirements.txt (et web/regression/requirements.txt pour les tests de régression). Un fichier de configuration local (web/config_local.py) peut remplacer les paramètres de config.py, notamment le répertoire de données, l'adresse et le port du serveur, le mode serveur ou bureau, l'URI de la base de données de configuration, les paramètres SMTP, les niveaux de journalisation et les chemins SQLite.
La configuration initiale de la base de données de configuration est interactive en mode serveur et non interactive en mode bureau, exécutée via web/setup.py ou en démarrant web/pgAdmin4.py. La documentation peut être générée avec Sphinx (make docs). Le runtime peut être compilé en exécutant yarn install dans le répertoire runtime et en copiant dev_config.json.in vers dev_config.json avec des chemins ajustés.
Les cibles d'empaquetage comprennent une archive source (make src), une wheel PIP (make pip), un AppBundle macOS et un installateur Windows, avec des instructions spécifiques à chaque plateforme dans pkg/mac et pkg/win32. Les migrations de base de données pour la base de configuration SQLite sont créées avec Flask-Migrate (flask db revision), en modifiant la fonction upgrade et en incrémentant SCHEMA_VERSION dans web/pgadmin/model/__init__.py.
Les options de support sont répertoriées sur pgadmin.org/support ; les problèmes de sécurité doivent être signalés à l'adresse e-mail de sécurité. Le développement se fait sur GitHub sous pgadmin-org/pgadmin4, avec des contributions sous forme de pull requests sur la branche master et des discussions sur la liste de diffusion pgadmin-hackers.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.