{"id":19391134,"url":"https://github.com/asone/dockerized-tricoteuses","last_synced_at":"2026-04-18T12:31:44.079Z","repository":{"id":82334265,"uuid":"142758465","full_name":"Asone/dockerized-tricoteuses","owner":"Asone","description":"Docker containers for tricoteuses project, opening data of french parlament","archived":false,"fork":false,"pushed_at":"2018-11-05T12:23:25.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-03T21:42:31.480Z","etag":null,"topics":["assemblee-nationale","bureau-ouvert","docker","docker-compose","open-data","open-government","parlament","parliamentary-monitoring"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Asone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-29T12:19:05.000Z","updated_at":"2018-11-05T12:23:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"e73bffa9-9f58-47bc-aa7d-30a14f03bf3a","html_url":"https://github.com/Asone/dockerized-tricoteuses","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Asone/dockerized-tricoteuses","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asone%2Fdockerized-tricoteuses","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asone%2Fdockerized-tricoteuses/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asone%2Fdockerized-tricoteuses/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asone%2Fdockerized-tricoteuses/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Asone","download_url":"https://codeload.github.com/Asone/dockerized-tricoteuses/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Asone%2Fdockerized-tricoteuses/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31969516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assemblee-nationale","bureau-ouvert","docker","docker-compose","open-data","open-government","parlament","parliamentary-monitoring"],"created_at":"2024-11-10T10:25:05.599Z","updated_at":"2026-04-18T12:31:39.069Z","avatar_url":"https://github.com/Asone.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Docker containers for tricoteuses application\n\nThis repo provides docker containers for tricoteuses applications. \n\nTricoteuses are a set of software from [parlement ouvert](https://framagit.org/parlement-ouvert) which intends to open the data of the french parlement so it can be easily used by contributors. \n\nSoftwares are the following : \n\n - [x] [Tricoteuses-api-assemble](): Provides a GraphQL server for data fetched from the french parlament.\n - [x] [Tricoteuses-api-hatvp](): Provides a GraphQL server for data fetched from the [`Hatvp`]() institution.\n - [x] [Tricoteuses-api-wikidata](): Provides a GraphQL server for parlamentaries biographic data fetched from [wikidata]()(https://framagit.org/tricoteuses/tricoteuses-api-wikidata).\n - [ ] [Tricoteuses-api](https://framagit.org/parlement-ouvert/tricoteuses-api) : A graphQL API for requesting database\n - [ ] [Tricoteuses-ui](https://framagit.org/parlement-ouvert/tricoteuses-ui) : Front-end application for exploring data.\n- [ ] [Tricoteuses-daemon](https://framagit.org/parlement-ouvert/tricoteuses-daemon) : feeds the postgres database automatically\n\n## Current services states\n\n### **[Functional] assemblee (Assemblée Nationale)**\n\n#### Fetch data ###\n\nYou will need to fetch Parlament data if you deploy on a new environment. You can use `make` command to launch data fetching with :\n\n```\nmake an-data-fetcher\nmake an-pics-fetcher\n```\n\n### usage ###\nRun `docker-compose up assemblee` to launch webserver.\n\nA documented graphiQL interface is available at [localhost:8000](http://localhost:8000)\n\n\n### **[Functional] hatvp (Haute autorité de la transparence de la vie publique)**\n\n#### Fetch data ###\n\nYou will need to fetch hatvp data if you deploy on a new environment. You can use `make` command to launch data fetching with :\n\n```\nmake hatvp-data-fetch\n```\n\n### usage ###\nRun `docker-compose up hatvp` to launch webserver. \n\nA documented graphiQL interface is available at [localhost:8002](http://localhost:8002)\n\n### **[Functional] Wikidata (Biographic data)**\n\n#### Fetch data ###\n\nYou will need to fetch wikidata data if you deploy on a new environment. You can use `make` command to launch data fetching with :\n\n```\nmake wikidata-data-fetch\n```\n\n### usage ###\nRun `docker-compose up wikidata` to launch webserver. \n\nA documented graphiQL interface is available at [localhost:8003](http://localhost:8003)\n\n\n### DB \n\nDB should be working. On removing the image and rebuilding, db will automatically fetch current data dump available.\n\n### Daemon\n\nDaemon instance seems to be working. However data processing is stuck. Below are the different states of scripts : \n\n#### aspireameli.py \n\nTo execute, run in docker bash instance : \n\u003e `python3 aspireameli.py dbname=\"ameli\"\\ port=\"5432\"\\ host=\"db\"\\ user=\"opendata\"\\ password=\"ameli\"`\n\n\n#### aspireliasse.py \n\nTo run : \n\n\u003e`python3 aspireliasse.py data --verbose`\n\nAfter init, script seems to be stuck in an infinite loop for retrieval of the same document : \n\n````\nINFO:aspireliasse:get_amendements(bibard=659, bibard_suffixe=, organe=CION_DEF, full=False)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION-CEDU)\nINFO:aspireliasse:get_prochain_a_discuter(organe=AN)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION_TOUTE)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION_LOIS)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CSCONF)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION_FIN)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION-DVP)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION-SOC)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION_AFETR)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION-ECO)\n^CINFO:aspireliasse:get_prochain_a_discuter(organe=CION_DEF)\nINFO:aspireliasse:get_prochain_a_discuter(organe=CION-CEDU)\n````\n\n#### aspirenosparlementaires.py\n\nTo run : \n\n\u003e`python3 aspirenosparlementaires.py deputes/ --verbose`\n\nSeems to be running but stays silent. \n\n### API\n\nServer itself starts, however some processing causing exceptions due to some hardcoded broken references for files.\n\n\n### UI\n\nInstall \u0026 build works. Instance fails at starting, inside as outside docker, react-scripts instance won't launch. \n\nBelow are the data collected about both tests : \n\n\n#### Within docker ####\n\n##### Configuration #####\n\nOS : linux alpine\nnode : v10.4.0\nnpm : 6.1.0\nbsb : 4.0.2\n\n##### Stacktrace output #####\n\n```\nbash-4.4# npm run build\n\n\u003e tricoteuses-ui@0.1.0 build /tricoteuses-ui\n\u003e react-scripts build\n\nCreating an optimized production build...\nFailed to compile.\n\n./src/index.re\n/bin/sh: script: not found\n\n\nnpm ERR! code ELIFECYCLE\nnpm ERR! errno 1\nnpm ERR! tricoteuses-ui@0.1.0 build: `react-scripts build`\nnpm ERR! Exit status 1\nnpm ERR! \nnpm ERR! Failed at the tricoteuses-ui@0.1.0 build script.\nnpm ERR! This is probably not a problem with npm. There is likely additional logging output above.\n\nnpm ERR! A complete log of this run can be found in:\nnpm ERR!     /root/.npm/_logs/2018-08-01T21_08_51_032Z-debug.log\nbash-4.4# \n```\n\nUsing : `bsb build`, we get the following message, which is pretty much the one we get without docker : \n\n```\nbash-4.4# bsb -make-world\n[12/12] Building src/Json.mlast.d\n[1/6] Building src/Json_encode.cmi\n\n  We've found a bug for you!\n  /tricoteuses-ui/node_modules/@glennsl/bs-json/src/Json_encode.mli 18:20-29\n  \n  16 │ (** [int n] makes a JSON number of the [int] [n] *)\n  17 │ \n  18 │ external boolean : Js.boolean -\u003e Js.Json.t = \"%identity\" \n  19 │ (** [boolean b] makes a JSON boolean of the [Js.boolean] [b] *)\n  20 │ \n  \n  This type constructor's parameter, `Js.boolean`, can't be found. Is it a typo?\n  \n[2/6] Building src/Json_decode.cmi\n\n  We've found a bug for you!\n  /tricoteuses-ui/node_modules/@glennsl/bs-json/src/Json_decode.mli 18:15-24\n  \n  16 │ exception DecodeError of string\n  17 │ \n  18 │ val boolean : Js.boolean decoder\n  19 │ (** Decodes a JSON value into a [Js.boolean]\n  20 │     \n  \n  This type constructor's parameter, `Js.boolean`, can't be found. Is it a typo?\n  \nFailure: /usr/local/lib/node_modules/bs-platform/lib/ninja.exe \n Location: /tricoteuses-ui/node_modules/@glennsl/bs-json/lib/bs\n```\n\n##### Notes #####\n\n`react-scripts` has been tried either globaly as localy. Stacktrace remains. \n\n#### Without docker ####\n\n##### Configuration #####\n\n```\n- OS : mac OS 10.13.6\n- node : 8.11.2\n- npm : 5.6.0\n- brew : 1.7.1\n- bsb : 4.0.2\n``` \n\n##### Stacktrace output #####\n\n```\n[1/6] Building src/Json_encode.cmi\n\n  We've found a bug for you!\n  /Users/herbin/www/tricoteuses-ui/node_modules/@glennsl/bs-json/src/Json_encode.mli 18:20-29\n  \n  16 │ (** [int n] makes a JSON number of the [int] [n] *)\n  17 │ \n  18 │ external boolean : Js.boolean -\u003e Js.Json.t = \"%identity\" \n  19 │ (** [boolean b] makes a JSON boolean of the [Js.boolean] [b] *)\n  20 │ \n  \n  This type constructor's parameter, `Js.boolean`, can't be found. Is it a typo?\n  \n[2/6] Building src/Json_decode.cmi\n\n  We've found a bug for you!\n  /Users/herbin/www/tricoteuses-ui/node_modules/@glennsl/bs-json/src/Json_decode.mli 18:15-24\n  \n  16 │ exception DecodeError of string\n  17 │ \n  18 │ val boolean : Js.boolean decoder\n  19 │ (** Decodes a JSON value into a [Js.boolean]\n  20 │     \n  \n  This type constructor's parameter, `Js.boolean`, can't be found. Is it a typo?\n  \nFailure: /usr/local/lib/node_modules/bs-platform/lib/ninja.exe \n Location: /Users/herbin/www/tricoteuses-ui/node_modules/@glennsl/bs-json/lib/bs\n ```\n\n\n##### Notes #####\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasone%2Fdockerized-tricoteuses","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasone%2Fdockerized-tricoteuses","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasone%2Fdockerized-tricoteuses/lists"}