Skip to content

Commit

Permalink
Merge branch 'master' into update_doc_translation
Browse files Browse the repository at this point in the history
  • Loading branch information
submarcos authored Jan 13, 2025
2 parents 9926f62 + 8af572e commit 059068e
Show file tree
Hide file tree
Showing 116 changed files with 3,093 additions and 952 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
python-version: ['3.8']

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up Python
uses: ./.github/actions/python-cache-requirements
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
name: Doc structure
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./.github/actions/python-cache-requirements
with:
requirements: docs/requirements.txt
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ jobs:
name: Checking SRID in migrations files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- run: |
test $(ls geotrek/*/migrations/*.py | xargs grep -l srid | xargs grep -L SRID | wc -l) -eq 0
flake8:
name: Checking Flake8 rules
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: ./.github/actions/python-cache-requirements
with:
requirements: dev-requirements.txt
Expand Down
66 changes: 43 additions & 23 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
push:
branches:
- master

paths-ignore:
- 'docs/**'
release:
Expand Down Expand Up @@ -42,10 +43,13 @@ jobs:
name: Python Unittests
runs-on: ubuntu-latest
container: makinacorpus/geodjango:${{ matrix.os }}

permissions:
packages: write # required to publish docker image

strategy:
matrix:
os: ['bionic-3.8', 'focal-3.8', 'jammy-3.10']
os: ['focal-3.8', 'jammy-3.10']
tests-env: ['tests', 'tests_nds']

env:
Expand All @@ -72,8 +76,8 @@ jobs:
- 6379:6379

steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
./venv
Expand Down Expand Up @@ -114,13 +118,7 @@ jobs:
libvips
apt-get install -y --no-install-recommends postgis
- name: Install python venv for bionic
if: ${{ matrix.os == 'bionic-3.8'}}
run: |
python3.8 -m venv ./venv
- name: Install python venv
if: ${{ matrix.os != 'bionic-3.8'}}
run: |
python3 -m venv ./venv
Expand Down Expand Up @@ -158,7 +156,6 @@ jobs:
./venv/bin/coverage xml -o coverage.xml
- name: Save coverage
if: ${{ matrix.os != 'bionic-3.8'}}
uses: actions/upload-artifact@v4
with:
name: coverage_${{ matrix.os }}_${{ matrix.tests-env }}
Expand All @@ -184,7 +181,7 @@ jobs:
name: coverage_${{ matrix.os }}_${{ matrix.tests-env }}
path: .

- uses: codecov/codecov-action@v4
- uses: codecov/codecov-action@v5
with:
files: ./coverage.xml
env_vars: OS,ENV
Expand Down Expand Up @@ -426,16 +423,18 @@ jobs:
name: Publish (on release only)
runs-on: ubuntu-latest
needs: [ test, e2e_docker_image, build_deb, e2e_deb_20_04 ]
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
if: ${{ github.event_name != 'pull_request' }}
steps:
- uses: actions/checkout@v4
- name: Download 18.04 debian artifact
uses: actions/download-artifact@v4
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
name: bionic

- name: Download 20.04 debian artifact
uses: actions/download-artifact@v4
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
name: focal

Expand All @@ -450,25 +449,44 @@ jobs:
username: ${{ secrets.DOCKER_LOGIN }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Publish Docker image (v2 and latest)
run: |
if [[ "${{ github.ref }}" == *"dev"* ]]; then
export DOCKER_TAG=dev
else
docker tag geotrek:latest geotrekce/admin:$(cat VERSION)
docker push geotrekce/admin:$(cat VERSION)
export DOCKER_TAG=latest
fi
docker tag geotrek:latest geotrekce/admin:$DOCKER_TAG
docker push geotrekce/admin:$DOCKER_TAG
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3

- name: Extract metadata
id: meta
uses: docker/metadata-action@v5
with:
images: |
geotrekce/admin
ghcr.io/geotrekce/geotrek-admin
- name: Build and push image
uses: docker/build-push-action@v6
with:
push: true
provenance: mode=max
sbom: true
builder: ${{ steps.buildx.outputs.name }}
tags: ${{ steps.meta.outputs.tags }}
file: ./docker/Dockerfile

- name: Install SSH key
uses: shimataro/ssh-key-action@v2
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
with:
key: ${{ secrets.SSH_PRIVATE_KEY }}
known_hosts: ${{ secrets.SSH_KNOWN_HOSTS }}

- name: Publish debian packages
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
run: |
if [[ "${{ github.ref }}" == *"dev"* ]]; then
export DEB_COMPONENT=dev
Expand All @@ -486,11 +504,13 @@ jobs:
fi
- name: Download 22.04 debian artifact
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
uses: actions/download-artifact@v4
with:
name: jammy

- name: Attach debian packages as release binaries
if: ${{ github.event_name == 'release' && github.event.action == 'created' }}
uses: skx/github-action-publish-binaries@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ COLOR_DEBUG = \033[36m
COLOR_RESET = \033[0m

build:
docker build -t geotrek . --build-arg BASE_IMAGE_TAG=$(BASE_IMAGE_TAG)
docker build -t geotrek -f docker/Dockerfile . --build-arg BASE_IMAGE_TAG=$(BASE_IMAGE_TAG)

build-no-cache:
docker build -t geotrek --no-cache .
build_no_cache:
docker build -t geotrek -f docker/Dockerfile --no-cache .

build_deb:
docker pull $(DISTRO)
Expand Down
111 changes: 111 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
<h1 align="center">Geotrek-admin</h1>

<p align="center"><img alt="geotrek admin image" src="/docs/_static/geotrek-admin.png"></p>

<p align="center">
<a href="https://geotrek.readthedocs.io/" rel="nofollow"><img alt="Documentation" src="https://img.shields.io/badge/Documentation-red.svg" style="max-width:100%;"></a>
<a href="https://demo-admin.geotrek.fr/" rel="nofollow"><img alt="Geotrek Admin demo" src="https://img.shields.io/badge/Demo-purple.svg" style="max-width:100%;"></a>
<a href="https://matrix.to/#/%23geotrek:matrix.org" rel="nofollow"><img alt="Chat Matrix" src="https://img.shields.io/badge/Chat-blue.svg" style="max-width:100%;"></a>
<a href="https://groups.google.com/g/geotrek-fr" rel="nofollow"><img alt="Forum Google Group" src="https://img.shields.io/badge/Forum-brightgreen.svg" style="max-width:100%;"></a>
</p>
<p align="center">
<a href="https://github.com/GeotrekCE/Geotrek-admin/actions/workflows/test.yml" rel="nofollow"><img alt="CI Status" src="https://github.com/GeotrekCE/Geotrek-admin/actions/workflows/test.yml/badge.svg" style="max-width:100%;"></a>
<a href="https://codecov.io/gh/GeotrekCE/Geotrek-admin" rel="nofollow"><img alt="Coverage" src="https://codecov.io/gh/GeotrekCE/Geotrek-admin/branch/master/graph/badge.svg" style="max-width:100%;"></a>
<a href="https://dashboard.cypress.io/projects/ktpy7v/runs" rel="nofollow"><img alt="End to End" src="https://img.shields.io/endpoint?url=https://dashboard.cypress.io/badge/simple/ktpy7v/master&style=flat&logo=cypress" style="max-width:100%;"></a>
<a href="https://geotrek.readthedocs.io" rel="nofollow"><img alt="Documentation" src="https://readthedocs.org/projects/geotrek/badge/?version=latest&style=flat" style="max-width:100%;"></a>
</p>

<p align="center">
<a href="#admin"><b>Admin</b></a> •
<a href="#features"><b>Features</b></a> •
<a href="#user-manual-french"><b>User manual</b></a> •
<a href="#installation-and-configuration"><b>Installation and configuration</b></a> •
</p>
<p align="center">
<a href="#support"><b>Support</b></a> •
<a href="#contribution"><b>Contribution</b></a> •
<a href="#thanks-to-all-contributors-"><b>Contributors</b></a> •
<a href="#license"><b>License</b></a> •
</p>

[![Alt text](http://geotrek.fr/assets/img/screen-1.png "Interface de Geotrek-admin")](http://geotrek.fr)

## Admin

**Geotrek-admin** is a web application designed to manage, centralize, and structure geographical and touristic information for your territory. It is the back-office application of the Geotrek ecosystem.

With Geotrek-admin, you can:
- Manage treks, touristic information, and related content (media, descriptions, etc.).
- Organize your data with maps, layers, and metadata.
- Export content to various public interfaces, such as Geotrek-rando or printed topoguides.

You can explore Geotrek-admin in action through the demonstration website:
- [https://demo-admin.geotrek.fr/](https://demo-admin.geotrek.fr/) (demo / demo) :

Geotrek-admin is built on Django and leverages a PostGIS database for handling geographical data. It serves as the data source for Geotrek-rando, Geotrek-widget and other tools of the Geotrek ecosystem.

Learn more about Geotrek-admin in the [general documentation (French)](https://geotrek.readthedocs.io/fr/latest/about/geotrek.html).

## Features

Geotrek-Admin is a powerful web mapping application designed for managing trekking, outdoor and tourism data with ease. Tailored to support GIS features and extensive customization, it empowers organizations to manage, maintain, and publish their outdoor assets seamlessly:

- **Management tool**: manage paths, interventions, signage, treks, POIs, touristic events, and much more.
- **Maintenance tracking**: track the maintenance of equipment and infrastructures with precision.
- **Advanced GIS capabilities**: control objects by district, protected areas, physical and legal status of paths, and compute 3D attributes using DEM draping.
- **Data synchronization**: interconnect with external platforms like Suricate, Apidae, and Tourinsoft for real-time data updates.
- **Publishing tools**:
- create public websites with [Geotrek-rando](https://github.com/GeotrekCE/Geotrek-rando-v3) (e.g., [Destination Écrins](https://rando.ecrins-parcnational.fr), [Alpes Rando](https://alpesrando.net/)).
- embed trek information into existing websites with [Geotrek-widget](https://github.com/GeotrekCE/Geotrek-rando-widget) for flexible and lightweight integration (e.g., [Sidobre Vallée Tourisme](https://sidobre-vallees-tourisme.com/type_activite/balades-et-randonnees-sidobre-vallees/), [la Toscane Occitane](https://www.la-toscane-occitane.com/a-voir-a-faire/balades-randonnees))..
- deploy mobile applications with [Geotrek-mobile](https://github.com/GeotrekCE/Geotrek-mobile) (e.g., [Grand Carcasssonne](https://play.google.com/store/apps/details?id=io.geotrek.grandcarcassonne), [Jura outdoor](https://apps.apple.com/app/jura-outdoor/id6446137384)).
- **Customizable outputs**: export data in various formats (PDF, GPX, KML) for offline use and tailored user experiences.
- **Interactive mapping**: enable users to visualize and explore data-rich maps with detailed elevation profiles.
- **Documentation and support**: access comprehensive documentation, best practices and community support for all your needs in the ([official documentation](https://geotrek.readthedocs.io/en/2.111.0/usage/overview.html)).

Learn more on the [Geotrek product website](http://geotrek.fr).

## User manual (french)

- [Presentation](https://geotrek.readthedocs.io/fr/latest/usage/overview.html)
- [Management modules](https://geotrek.readthedocs.io/fr/latest/usage/management-modules.html)
- [Touristic modules](https://geotrek.readthedocs.io/fr/latest/usage/touristic-modules.html)

## Installation and configuration

- [Installation](https://geotrek.readthedocs.io/fr/latest/install/installation.html)
- [Configuration](https://geotrek.readthedocs.io/fr/latest/install/configuration.html)
- [Advanced configuration](https://geotrek.readthedocs.io/fr/latest/install/advanced-configuration.html)

## Support

- To report bugs or suggest features, please [submit a ticket](https://github.com/GeotrekCE/Geotrek-admin/issues).
- Join our community to stay updated and share your experience! Connect on [Matrix](https://matrix.to/#/%23geotrek:matrix.org) for real-time discussions, or connect through the [Google Group](https://groups.google.com/g/geotrek-fr) to exchange ideas and insights.

## Contribution

Interested in contributing? See our [Contributing Guide](https://geotrek.readthedocs.io/en/latest/contribute/contributing.html
). You can help in many ways, the ability to code is not necessary.

## Thanks to all contributors ❤

<a href="https://github.com/GeotrekCE/Geotrek-admin/graphs/contributors">
<img src="https://contrib.rocks/image?repo=GeotrekCE/Geotrek-admin" />
</a>

Made with [contrib.rocks](https://contrib.rocks).

## License

This project is under the BSD License. See the [LICENSE](Geotrek-admin/blob/main/LICENSE) for details.

- OpenSource - BSD
- Copyright (c) 2012-2024 - Makina Corpus Territoires / Parc national des Ecrins - Parc National du Mercantour - Parco delle Alpi Marittime

<a href="https://territoires.makina-corpus.com/"><img src="https://geotrek.fr/assets/img/logo_makina.svg" alt="Logo de Makina Corpus Territoires" width="115"></a>
[![Alt text](https://geotrek.fr/assets/img/logo_autonomens-h120m.png "Logo Autonomens")](https://datatheca.com/)

----

[![Alt text](http://geotrek.fr/assets/img/parc_ecrins.png "Logo du Parc national des Ecrins")](http://www.ecrins-parcnational.fr)
[![Alt text](http://geotrek.fr/assets/img/parc_mercantour.png "Logo du Parc national du Mercantour")](http://www.mercantour.eu)
[![Alt text](http://geotrek.fr/assets/img/alpi_maritime.png "Logo du Parc naturel des Alpes maritimes")](http://www.parcoalpimarittime.it)
Loading

0 comments on commit 059068e

Please sign in to comment.