From 874e07c7e392424c3c478ea140574e9f10e24d72 Mon Sep 17 00:00:00 2001 From: medina5 Date: Sat, 25 Oct 2025 14:27:33 +0200 Subject: [PATCH] Retrait de CouchDB --- compose.yaml | 36 ------------ couchdb-init.Dockerfile | 12 ---- couchdb-init.py | 39 ------------- couchdb.http | 63 --------------------- postgis/points.csv | 28 --------- postgis/postgis.sql | 59 ------------------- postgresql-entrypoint-initdb.d/12_pgtap.sql | 4 +- 7 files changed, 2 insertions(+), 239 deletions(-) delete mode 100644 couchdb-init.Dockerfile delete mode 100644 couchdb-init.py delete mode 100644 couchdb.http delete mode 100644 postgis/points.csv delete mode 100644 postgis/postgis.sql diff --git a/compose.yaml b/compose.yaml index d817ac0..6a35589 100644 --- a/compose.yaml +++ b/compose.yaml @@ -99,42 +99,6 @@ services: caddy.reverse_proxy: "{{upstreams 80}}" caddy.tls: internal -# ---------------------------------------------------------------------- -# Documents -# -# ---------------------------------------------------------------------- -# CouchDB -# Single-node document database -# https://couchdb.apache.org/ - couchdb: - image: couchdb:3.5 - volumes: - - couchdb_data:/opt/couchdb/data - environment: - COUCHDB_USER: ${COUCHDB_USER} - COUCHDB_PASSWORD: ${COUCHDB_PASSWORD} - ports: - - 5984:5984 - networks: - - caddy_net - labels: - caddy: couchdb.localhost - caddy.reverse_proxy: "{{upstreams 5984}}" - caddy.tls: internal - - couchdb-init: - build: - dockerfile: ./couchdb-init.Dockerfile - context: . - environment: - COUCHDB_USER: ${COUCHDB_USER} - COUCHDB_PASSWORD: ${COUCHDB_PASSWORD} - depends_on: - - couchdb - networks: - - caddy_net - - # Redis # In-memory key-value database # https://redis.io/fr/ diff --git a/couchdb-init.Dockerfile b/couchdb-init.Dockerfile deleted file mode 100644 index b12ca24..0000000 --- a/couchdb-init.Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM python:3.13-slim - -# Installer requests une seule fois dans l'image -RUN python3 -m pip install --no-cache-dir requests - -WORKDIR /app - -# Copier le script Python -COPY couchdb-init.py /app/ - -# Lancer le script par défaut -ENTRYPOINT ["python3", "couchdb-init.py"] diff --git a/couchdb-init.py b/couchdb-init.py deleted file mode 100644 index fff5e61..0000000 --- a/couchdb-init.py +++ /dev/null @@ -1,39 +0,0 @@ -import os, time, requests - -COUCHDB_URL = 'http://couchdb:5984' -USER = os.getenv('COUCHDB_USER', 'admin') -PASSWORD = os.getenv('COUCHDB_PASSWORD', 'password') - -for _ in range(30): - try: - r = requests.get(COUCHDB_URL) - if r.ok: - break - except Exception: - time.sleep(2) -else: - print('❌ CouchDB n\'est pas joignable') - exit(1) - -print('🚀 Vérification de la configuration...') -try: - dbs = requests.get(f'{COUCHDB_URL}/_all_dbs', auth=(USER, PASSWORD)) - if dbs.ok and '_users' in dbs.json(): - print('✅ CouchDB déjà initialisé.') - exit(0) -except Exception: - pass - -print('🛠 Initialisation du mode single-node...') -payload = { - "action": "enable_single_node", - "username": USER, - "password": PASSWORD, - "bind_address": "0.0.0.0" -} -r1 = requests.post(f'{COUCHDB_URL}/_cluster_setup', auth=(USER, PASSWORD), json=payload) - -if r1.ok: - print('✅ CouchDB initialisé avec succès.') -else: - print('❌ Erreur lors de l\'initialisation :', r1.text) diff --git a/couchdb.http b/couchdb.http deleted file mode 100644 index f8c5a29..0000000 --- a/couchdb.http +++ /dev/null @@ -1,63 +0,0 @@ -@couchDB = http://couchdb.localhost - -### Init - -POST {{couchDB}}/_cluster_setup -Authorization: Basic {{$dotenv COUCHDB_USER}}:{{$dotenv COUCHDB_PASSWORD}} -Content-Type: application/json - -{ - "action": "enable_single_node", - "username": "{{$dotenv COUCHDB_USER}}", - "password": "{{$dotenv COUCHDB_PASSWORD}}", - "bind_address": "0.0.0.0", - "port": 5984 -} - -### - -GET {{couchDB}}/_all_dbs -Authorization: Basic {{$dotenv COUCHDB_USER}}:{{$dotenv COUCHDB_PASSWORD}} - -### Creates a new database. -PUT {{couchDB}}/db -Authorization: Basic {{$dotenv COUCHDB_USER}}:{{$dotenv COUCHDB_PASSWORD}} - -### Creates a new document in the specified database, using the supplied JSON document structure. -POST {{couchDB}}/db -Accept: application/json -Content-Type: application/json -Authorization: Basic {{$dotenv COUCHDB_USER}}:{{$dotenv COUCHDB_PASSWORD}} - -{ - "servings": 4, - "subtitle": "Delicious with fresh bread", - "title": "Fish Stew" -} - -### -GET {{couchDB}}/db/_all_docs -Authorization: Basic {{$dotenv COUCHDB_USER}}:{{$dotenv COUCHDB_PASSWORD}} - -### -GET {{couchDB}}/db/2c2135ff744c3b98407572ed4f000cad -Authorization: Basic {{$dotenv COUCHDB_USER}}:{{$dotenv COUCHDB_PASSWORD}} - -### -POST {{couchDB}}/db/_find -Authorization: Basic {{$dotenv COUCHDB_USER}}:{{$dotenv COUCHDB_PASSWORD}} -Accept: application/json -Content-Type: application/json -Content-Length: 168 -Host: localhost:5984 - -{ - "selector": { - "year": {"$gt": 2010} - }, - "fields": ["_id", "_rev", "year", "title"], - "sort": [{"year": "asc"}], - "limit": 2, - "skip": 0, - "execution_stats": true -} diff --git a/postgis/points.csv b/postgis/points.csv deleted file mode 100644 index fae11f3..0000000 --- a/postgis/points.csv +++ /dev/null @@ -1,28 +0,0 @@ --4.006666897046123 48.7528720020309, --4.005870355067274 48.75026102618178, --4.003629135498721 48.748652881336724, --3.999937714914126 48.7464361648583, --3.9950927255526962 48.74493656593118, --3.9940050748797225 48.745523370840516, --3.9910057957512173 48.745762437542936, --3.9901158997460566 48.74515390188169, --3.991851437957331 48.74306933218229, --3.9887834656682424 48.7393151550319, --3.993896752679784 48.73699956468981, --3.9941353727403235 48.74093375678278, --3.9980896480292487 48.74147327911715, --4.000544025794788 48.740416709111294, --4.00364608658179 48.741630638707136, --4.005077806945022 48.740394228657095, --4.007054944589484 48.740956236995665, --4.008248044892178 48.74050663082754, --4.008657107853101 48.740888796326814, --4.007157210329716 48.74122599876611, --4.00933887945464 48.7431367698581, --4.009234652034756 48.74313664396521, --4.006666897046123 48.7528720020309, - -54,41,42,1,1,"LINESTRING (-4.0283457106078151 48.74819693416071686, -4.0277798896546626 48.74843925273770395, -4.02709096211884532 48.74871478406565473, -4.02662791246362506 48.74891584651362564, -4.02625521396064201 48.74902010079956938, -4.02561146200094466 48.7490424409755434, -4.02451595428005682 48.74905733442068367, -4.02391737789647941 48.74907222786141858, -4.02363503054573446 48.7490349942513248, -4.02274281291738145 48.74909456801422181, -4.02174895024276235 48.74906478114159114, -4.02093578987261857 48.74906478114159114, -4.02015407493021737 48.74906065795587295)" -56,42,37,1,1,"LINESTRING (-4.02015407493021737 48.74906065795587295, -4.01973160932402873 48.74875605686673197, -4.01938565220795851 48.74824615905019698, -4.01924319927781237 48.74797778970009432, -4.01875478923159868 48.74780334885392818, -4.0183884816969373 48.74761548880393036, -4.01783902039494478 48.74741420939959369, -4.01763551620902248 48.74705190444013425, -4.01739131118591519 48.74666275916671054, -4.01718780699999201 48.7464614759462691, -4.01674202846954209 48.74639773953580146)" -96,65,62,1,1,"LINESTRING (-4.02286843896043855 48.74610257019232051, -4.02284812996929819 48.74649092768017766, -4.02273179974516371 48.7467133780762012, -4.02244097418483104 48.74677474352942141, -4.02211524955725697 48.74681309689962205, -4.02174299284003034 48.74674406081217626, -4.02134747007797611 48.74662900045570524, -4.02106827754005636 48.74655229340503126, -4.02083561709178827 48.74679775555504335, -4.02053315850904092 48.74708156967139416, -4.02028886503836169 48.74713526405361819, -4.0200562045900945 48.74690514486865567, -4.01975199012698514 48.74659331482603619)" -85,35,60,1,1,"LINESTRING (-4.01847183812000619 48.74490975460546593, -4.01851483744327798 48.7451174969493124, -4.01875102113744109 48.74550314198440759, -4.01912216694255253 48.74588878406018466, -4.01942583169218981 48.74622992650653686, -4.01975199012698514 48.74659331482603619)" diff --git a/postgis/postgis.sql b/postgis/postgis.sql deleted file mode 100644 index 7c65f6a..0000000 --- a/postgis/postgis.sql +++ /dev/null @@ -1,59 +0,0 @@ -set SEARCH_PATH to public,postgis; - -create table point ( - id serial primary key, - nom text not null, - altitude double precision, - geom geometry(point, 4326) not null -); - -create index idx_point_geom - on point using gist (geom); - -create table route ( - id serial primary key, - depart int, - arrivee int, - geom geometry(linestring, 4326) not null, - longueur double precision -); - -create index idx_route_geom - on route using gist (geom); - -create or replace function maj_longueur() -returns trigger as $$ -begin - new.longueur := st_length(new.geom) * 1000; - return new; -end; -$$ language plpgsql; - -create trigger trigger_longueur - before insert or update on route - for each row - execute function maj_longueur(); - --- ************************************************************ - -create table route_cout ( - route_id int references route(id), - tag text, - cout float, - cout_inverse float, - primary key (route_id, tag) -); - -create table zone ( - id int primary key, - nom text, - categorie text, - geom geometry(polygon, 4326) -- on choisit srid 4326 (wgs84) -); - --- ************************************************************ - -\COPY point FROM '/tmp/point.csv' (FORMAT CSV, header, ENCODING 'UTF8'); -\COPY route(id, depart, arrivee, geom) FROM '/tmp/route.csv' (FORMAT CSV, header, ENCODING 'UTF8'); -\COPY route_cout FROM '/tmp/route_cout.csv' (FORMAT CSV, header, ENCODING 'UTF8'); -\COPY zone FROM '/tmp/zone.csv' (FORMAT CSV, header, ENCODING 'UTF8'); diff --git a/postgresql-entrypoint-initdb.d/12_pgtap.sql b/postgresql-entrypoint-initdb.d/12_pgtap.sql index 73291a5..070d0b7 100644 --- a/postgresql-entrypoint-initdb.d/12_pgtap.sql +++ b/postgresql-entrypoint-initdb.d/12_pgtap.sql @@ -4,8 +4,8 @@ SELECT plan(4); SELECT is( (SELECT nb_total_familles FROM nb_total_familles), - 137::bigint, - 'La table famille contient 137 enregistrements' + 138::bigint, + 'La table famille contient 138 enregistrements' ); SELECT is(