{"id":24301894,"url":"https://github.com/BoboTiG/shaarlimages","last_synced_at":"2025-09-26T04:30:44.736Z","repository":{"id":10574866,"uuid":"12781900","full_name":"BoboTiG/shaarlimages","owner":"BoboTiG","description":"Shaarlimages, la galerie des shaarlis !","archived":false,"fork":false,"pushed_at":"2024-10-23T14:55:41.000Z","size":5086,"stargazers_count":6,"open_issues_count":2,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-23T18:29:42.491Z","etag":null,"topics":["gallery-images","python310","shaarli"],"latest_commit_sha":null,"homepage":"https://www.shaarlimages.net","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BoboTiG.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2013-09-12T11:23:52.000Z","updated_at":"2024-10-23T14:55:44.000Z","dependencies_parsed_at":"2024-01-08T16:30:29.497Z","dependency_job_id":"b9b6d279-debe-4f9b-93bc-79fbf0ff87dd","html_url":"https://github.com/BoboTiG/shaarlimages","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BoboTiG%2Fshaarlimages","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BoboTiG%2Fshaarlimages/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BoboTiG%2Fshaarlimages/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BoboTiG%2Fshaarlimages/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BoboTiG","download_url":"https://codeload.github.com/BoboTiG/shaarlimages/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234291809,"owners_count":18809249,"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":["gallery-images","python310","shaarli"],"created_at":"2025-01-17T00:02:36.780Z","updated_at":"2025-09-26T04:30:44.730Z","avatar_url":"https://github.com/BoboTiG.png","language":"Python","funding_links":["https://www.patreon.com/mschoentgen"],"categories":["Hey, listen! 🧚‍♀️"],"sub_categories":[],"readme":"# Shaarlimages\n\n\u003e [!TIP]\n\u003e Deviens **mon boss**, ou **ma bosse**, pour m'aider à améliorer Shaarlimages, et le monde par ailleurs :\n\u003e \n\u003e [![Patreon](https://img.shields.io/badge/Patreon-F96854?style=for-the-badge\u0026logo=patreon\u0026logoColor=white)](https://www.patreon.com/mschoentgen)\n\nShaarlimages, la galerie des shaarlis !\n\nURL : [www.shaarlimages.net](https://www.shaarlimages.net)\n\n## API\n\nGalleries:\n- [/page/NUMBER](https://www.shaarlimages.net/page/42): display the page n° `NUMBER`;\n- [/random](https://www.shaarlimages.net/random): display a random image;\n- [/search/TERM](https://www.shaarlimages.net/search/animaux), and [/search/TERM/NUMBER](https://www.shaarlimages.net/search/animaux/42): search by term;\n- [/tag/TAG](https://www.shaarlimages.net/tag/animaux), and [/tag/TAG/NUMBER](https://www.shaarlimages.net/tag/animaux)/42: search by tag;\n- [/zoom/IMAGE](https://www.shaarlimages.net/zoom/urIokw): display the `IMAGE`;\n\nFiles:\n- [/image/IMAGE](https://www.shaarlimages.net/image/urIokw.jpg): direct link to the original `IMAGE` file;\n- [/thumbnail/IMAGE](https://www.shaarlimages.net/thumbnail/urIokw.jpg): direct link to the thumbnail `IMAGE` file;\n\nRSS feeds (a link is made accessible when clicking on \"images\" at the top-right on the website):\n- [/rss](https://www.shaarlimages.net/rss), [/rss/NUMBER](https://www.shaarlimages.net/rss/42), and [/rss/all](https://www.shaarlimages.net/rss/all): global RSS feed (default: last 50 items);\n- [/rss/search/TERM](https://www.shaarlimages.net/rss/search/animaux), [/rss/search/TERM/NUMBER](https://www.shaarlimages.net/rss/search/animaux/42), and [/rss/search/TERM/all](https://www.shaarlimages.net/rss/search/animaux/all): RSS feed of the result of the search by term (default: last 50 items);\n- [/rss/tag/TAG](https://www.shaarlimages.net/rss/tag/animaux), [/rss/tag/TAG/NUMBER](https://www.shaarlimages.net/rss/tag/animaux/42), and [/rss/tag/TAG/all](https://www.shaarlimages.net/rss/tag/animaux/all): RSS feed of the result of the search by tag (default: last 50 items);\n\n## Production\n\nCopy all files from the `host` folder to the [PythonAnywhere](https://www.pythonanywhere.com) hosting account.\n\nDetails:\n- Web app type: Bottle\n- Python version: `3.10`\n- Force HTTPS: enabled\n\nTasks:\n- \"Sync all shaarlis\":\n  - when: daily at 06:00 UTC\n  - command: `CI=true PYTHONPATH='/home/tiger222/shaarlimages' python -m host sync`\n\nCheck [Batteries Included](https://www.pythonanywhere.com/batteries_included/) to know what modules are already provided.\n\n### Backup\n\nCommand to fully sync back the data on a local machine:\n\n```console\n# Usage:\n# rsync -avzhe ssh \u003cUSER\u003e@ssh.pythonanywhere.com:\u003cSHAARLIMAGES_FOLDER\u003e/data \u003cLOCAL_FOLDER\u003e/\n\n# Example:\n$ rsync -avzhe ssh tiger222@ssh.pythonanywhere.com:/home/tiger222/shaarlimages/data /home/tiger-222/projects/shaarlimages/\n```\n\n### OSError: write error\n\nIn the server logs, we might see lots of `OSError: write error` messages. They are not related to the current application, [more information here](https://www.pythonanywhere.com/forums/topic/13591/).\n\n## Development\n\n### Installation\n\n```console\n$ python3.10 -m venv venv\n$ . venv/bin/activate\n$ python -m pip install -U pip\n$ python -m pip install -r requirements-dev.txt\n```\n\n### Quality\n\n```console\n$ ./checks.sh\n```\n\n### Tests\n\n```console\n$ python -m pytest --doctest-modules host tests/unit\n\n# To be run from time to time to ensure solvers are still working\n$ python -m pytest tests/integration\n```\n\n### Local Server\n\n```console\n$ python server.py\n```\n\n### CLI\n\n```console\n$ python -m host -h\n```\n\n#### Synchronization\n\nSync all registered shaarlis:\n\n```console\n$ python -m host sync [--force]\n```\n\nSync any Shaarli instance (registered or not):\n\n```console\n$ python -m host sync --url URL [--force]\n\n# Example:\n# python -m host sync --url 'https://shaarli.example.org/feed/atom'\n```\n\nIn both cases, use `--force` to (re)sync from the beginning.\n\n---\n\n### Historique\n\nSuite à [cette requête](http://sebsauvage.net/paste/?b1176a415f9bbe17#CIT+sEj+1tsMW8IAWBipoVJiNBcgLt81Gm79rxuiVnU).  \n\n### Ajouter un shaarli\n\nLa liste des instances shaarli est récupérée depuis [BoboTiG/shaarlis](https://github.com/BoboTiG/shaarlis). N'hésitez pas à proposer un patch pour ajouter d'autres liens.\n\n### Remerciements\n\n- Séb pour avoir mis au point [shaarli](http://sebsauvage.net/wiki/doku.php?id=php:shaarli);\n- Bronco pour l'inspiration ([feed2array](http://www.warriordudimanche.net/article178/feed2array-obtenir-un-flux-rss-atom-sous-forme-de-tableau)) ;\n- Jakob Holmelund pour la [base javascript](https://github.com/jakobholmelund/fitpicsjs) de la partition linéaire ;\n- Chromatic.io pour l'[inspiration](http://www.chromatic.io/FQrLQsb) ;\n- Arthur Hoaro \u0026 Oros42 pour [l'annuaire des shaarlis](https://github.com/Oros42/shaarli-api) ;\n- Et tous les contributeurs et testeurs de l'ombre :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBoboTiG%2Fshaarlimages","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBoboTiG%2Fshaarlimages","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBoboTiG%2Fshaarlimages/lists"}