{"id":19830541,"url":"https://github.com/ansforge/psc-admin-portal","last_synced_at":"2026-05-14T04:35:23.416Z","repository":{"id":245088848,"uuid":"800516434","full_name":"ansforge/psc-admin-portal","owner":"ansforge","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-26T10:55:47.000Z","size":2250,"stargazers_count":0,"open_issues_count":13,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-11T09:49:58.221Z","etag":null,"topics":["sec-psc"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansforge.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-05-14T13:36:43.000Z","updated_at":"2024-11-14T13:24:53.000Z","dependencies_parsed_at":"2024-06-19T18:57:24.686Z","dependency_job_id":"a8cce180-f908-4ce1-998b-cebc027f7a78","html_url":"https://github.com/ansforge/psc-admin-portal","commit_stats":null,"previous_names":["ansforge/psc-admin-portal"],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fpsc-admin-portal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fpsc-admin-portal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fpsc-admin-portal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansforge%2Fpsc-admin-portal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansforge","download_url":"https://codeload.github.com/ansforge/psc-admin-portal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241189974,"owners_count":19924937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["sec-psc"],"created_at":"2024-11-12T11:24:02.421Z","updated_at":"2026-05-14T04:35:23.391Z","avatar_url":"https://github.com/ansforge.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n\n    Copyright © 2022-2024 Agence du Numérique en Santé (ANS) (https://esante.gouv.fr)\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n        http://www.apache.org/licenses/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n--\u003e\n# PscAdminPortal\n\nAdministration portal for sec-psc.\n\nThis project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.2.\n\n## Development\n\n### Distribution history\n\nThis ecosystem uses many independant components, some of which live an independant life in distinct repositories.\nFor each release of `psc-admin-portal`, [the psc-components' distribution  history](https://github.com/ansforge/psc-components/blob/main/DISTRIBUTION.md) \nfile will need to be updated with the new version, so that we can keep track of compatible component versions, \nand go back to a previous working distribution if need be.\n\n### License header check\n\nThe license header check gets performed as part of each container build. If the check fails,\nthe container build will fail. If this happens, use the [`license/license-format.sh`](license/license-format.sh)\nscript to draft the header bump commit. **Always** check the result before committing : the tool mostly works,\nbut in some corner cases (some partial match with the header with too much difference) it will make invalid change\nthat needs to be manually fixed.\n\n\n\u003ca name=\"runInDev\"\u003e\u003c/a\u003e\n\n### Running the angular application in development mode\n\n#### Prerequisits\n\n1. You need bash and docker, directly or in a linux virtual machine like WSL or VirtualBox.\n1. You need to map the `sec-psc.wom.dev.henix.fr` domain name to the interface the proxy will be listening to. The launch script defaults to `127.0.0.2`, but if you need this proxy to listen to a specific interface, set the `HOST_ADDRESS` shell variable before running.\n1. You need all **sec-psc** git repositories checked-out in the same directory. For this to work, do **not** working copies need to be checked-out under the default directory name created by git clone.\n\n#### Troubleshooting WSL for use with docker\n\n1. Docker containers won't run in WSL\n\n   1.  First of all, please check that you have WSL2 active (WSL1 does not allow docker to work properly)\n   2.  If you do run WSL2, check the docker daemon status with :\n\n       ```bash\n       sudo service docker status\n       ```\n\n       If the answer is not docker is running, the start it :\n\n       ```bash\n       sudo service docker start\n       ```\n\n1. Docker containers don't have network access\n\n   This migh result from docker's private subnet in the 172.17.xx.xx colliding with the WSL2 VM's random IP adress if this address is in the 172.17.xx.xx range. To ensure this won't happen, you need to tweak docker's daemon configuration to change its private subnet IP range. If your WSL2 VM runs a debian or dervied distro, follow these steps :\n\n   1. Open the `/etc/default/docker` as admin\n\n      ```bash\n      sudo nano /etc/default/docker\n      ```\n\n   2. Change the DOCKER_OPT line \n\n      ```\n      #DOCKER_OPTS=\"--dns 8.8.8.8 --dns 8.8.4.4\"\n      ```\n\n      to\n\n      ```\n      DOCKER_OPTS=\"----bip 198.168.50.1/24\"\n      ```\n\n#### Running helper processes\n\nTwo helper processes may be run as docker containers :\n\n1. Development proxy\n\n   To be able to run the angular portal in development mode, you need a reverse proxy for service calls.\nThe mapping to backend processes IP and PORT is defined in the `scripts/service-addresses.conf` file. This file is not committed, but generated from the `scripts/service-addresses.conf.in` file if it does not exist.\nDefault values are OK if you run backends alongside the proxy container using the script (see [Running backend processes](#runningBackendProcesses)). If this is not your configuration, adjust the IP or PORT variables as you need.\n\n1. Mongodb database for the backends\n\nBoth containers can be launched by running the [`scripts/launch_dev_helpers.sh`](scripts/launch_dev_helpers.sh) script.\n\n\u003ca name=\"runningBackendProcesses\"\u003e\u003c/a\u003e\n\n#### Running backend processes\n\nLaunch the [`scripts/launch_dev_backends.sh`](scripts/launch_dev_backends.sh) script.\n\nTo stop the backend, launch the [`scripts/stop_dev_backends.sh`](scripts/stop_dev_backends.sh) script.\n\n### Testing the process\n\nAfter launching development processes (see [above](#runInDev)), processes may be tested using two datasets :\n\n1.  Creation dataset\n\n    This dataset is in the file `src/test/resources/rass-2000-lignes.txt`. To load it:\n\n    1.  first copy the (empty) `target/rass-archive-mock.txt` file created by dev helpers into the `target/pscload_files` directory.\n    1.  then copy the `src/test/resources/rass-2000-lignes.txt` file content into the `target/pscload_files/rass-archive-mock.txt` file.\n    1.  The process will run all along by itself (no restriction on PS creations)\n\n1.  The complete deletion dataset\n\n    This dataset is the empty rass mock extract created by the dev helpers. To load it :\n\n    1.  Empty the `target/pscload_files` directory\n    1.  Launch the process\n    1.  Deleting 2000 PS will trigger an alert (which can be bypassed from the gestion des alertes action pane)\n\n## Qualification\n\nTo test the process in qualification (cloud) environments, \nmake sure the qualification environment can access raw github resources and see [the rass-loader qualification procedure](https://github.com/ansforge/psc-rass-loader?tab=readme-ov-file#qualification).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansforge%2Fpsc-admin-portal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansforge%2Fpsc-admin-portal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansforge%2Fpsc-admin-portal/lists"}