Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

https://gitlab.com/litt-arts-num/fonte-gaia/ok-api
14 December 2022, 15:39:30 UTC
  • Code
  • Branches (27)
  • Releases (0)
  • Visits
    • Branches
    • Releases
    • HEAD
    • refs/heads/dev
    • refs/heads/fontegaia_custom_properties
    • refs/heads/import_only
    • refs/heads/master
    • refs/heads/standardized_manifest
    • refs/merge-requests/1/head
    • refs/merge-requests/1/merge
    • refs/merge-requests/10/head
    • refs/merge-requests/10/merge
    • refs/merge-requests/11/head
    • refs/merge-requests/11/merge
    • refs/merge-requests/2/head
    • refs/merge-requests/2/merge
    • refs/merge-requests/3/head
    • refs/merge-requests/3/merge
    • refs/merge-requests/4/head
    • refs/merge-requests/4/merge
    • refs/merge-requests/5/head
    • refs/merge-requests/5/merge
    • refs/merge-requests/6/head
    • refs/merge-requests/6/merge
    • refs/merge-requests/7/head
    • refs/merge-requests/7/merge
    • refs/merge-requests/8/head
    • refs/merge-requests/8/merge
    • refs/merge-requests/9/head
    • refs/merge-requests/9/merge
    • cf6e9b679f75285347578720eaf021a4f2becd06
    No releases to show
  • 730b1ad
  • /
  • readme.md
Raw File Download Save again
Take a new snapshot of a software origin

If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.

Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
swh spinner

Processing "take a new snapshot" request ...

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
  • revision
  • snapshot
origin badgecontent badge
swh:1:cnt:74572ce5c5352741be3f0a9403e6ec71d09a0570
origin badgedirectory badge
swh:1:dir:730b1ad49a8af38b3883cc890efbcb71721186ef
origin badgerevision badge
swh:1:rev:cf6e9b679f75285347578720eaf021a4f2becd06
origin badgesnapshot badge
swh:1:snp:00867a4fa540d9ede1fc7865c7a222cad206c3a9

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
  • revision
  • snapshot
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Generate software citation in BibTex format (requires biblatex-software package)
Generating citation ...
Tip revision: cf6e9b679f75285347578720eaf021a4f2becd06 authored by theo.roulet on 14 December 2022, 15:35:45 UTC
Merge branch 'master' of gitlab.com:litt-arts-num/fonte-gaia/ok-api
Tip revision: cf6e9b6
readme.md
# Installation :

`git clone git@gitlab.com:litt-arts-num/fonte-gaia/ok-api.git`

`cd ok-api`

### Docker prérequis.

### Configurer docker et symfony

`cp .env.dist .env`
* et ajuster la configuration du `.env` des services docker :


        # MySQL
        MYSQL_ROOT_PASSWORD=root
        MYSQL_DATABASE=dbname
        MYSQL_USER=dbuser
        MYSQL_PASSWORD=dbpassword

        # PORTS
        HTTPS_PORT=8321
        HTTP_PORT=8322
        ADMINER_PORT=8323
        MYSQL_PORT=3399


`cp ./application/.env.dist ./application/.env`
* et ajuster la configuration du `.env` de l'application symfony :


        DATABASE_URL="mysql://dbuser:dbpassword@db:3306/dbname"
        MESSENGER_TRANSPORT_DSN=doctrine://default
        APP_SECRET='putYourSecretHere'
        APP_ENV=prod
        NAKALA_API_KEY="If you harvest private datas from Nakala, you will need to put your api key here. If you only target public datas, you can leave this var empty."

<details> <summary markdown="span"><h4>Environnement de dev / de prod</h4></summary>

* Remplacer `APP_ENV=prod` par `APP_ENV=dev` lors de développements en local (réactive le web-profiler de symfony, aide au debug, vide automatiquement le cache).
* Après avoir repassé l'environnement en prod, vider le cache une fois pour prendre en compte les dernières modifications :


        docker-compose exec apache bash;
        bin/console cache:clear;
        exit;

</details>


<h3>Déploiement en localhost / sur serveur de production</h3>

* **Si l'application est testée en localhost, son accès n'a pas besoin d'être protégé** :  supprimez `/docker-files/.htaccess` et sa mention comme volume mention dans `docker-compose.yml` (toute la ligne `- ./docker-files/.htaccess:/var/www/.htaccess`).
* **Sur un serveur de production, le `.htaccess` est recommandé** : il est le seul moyen de protéger l'application par un login et un mot de passe (sa configuration est expliquée dans section suivante). Comme il n'y aucune session d'utilisateur ni aucun moyen de séparer plusieurs jeux de données manipulés, je recommande vivement d'en restreindre l'accès, même sans craindre les mauvaises intentions.

<h3> Construire le conteneur </h3>

* `sudo docker-compose build`
* `sudo docker-compose up -d`

* entrer dans le conteneur pour finir ...                   
  * `sudo docker-compose exec apache bash`
  * `make update` ( ... l'installation d'apache et des dépendances de symfony application/Makefile )

**Ignorez l'étape suivante si déployé en localhost**

* Toujours dans le conteneur, créer un premier utilisateur pour se connecter à l'application protégée par un `.htaccess` et un `.htpasswd` d'apache2. :warning: **Retenir / noter absolument le MDP, il est crypté donc illisible dans le fichier.**
  * `htpasswd -c -b -B /etc/apache2/htpass/.htpasswd user password`  
* Pour créer des utilisateurs supplémentaires retirer l'option `-c` (`-c` écrase le fichier .htpasswd s'il existe déjà).
  * `htpasswd -b -B /etc/apache2/htpass/.htpasswd user password`
* Supprimer un utilisateur :
  * `htpasswd -D /etc/apache2/htpass/.htpasswd user`


 - L'application est accessible,protégée par un login et MDP, sur http://localhost:8322/

# Dépendances

* Les bibliothèques de code et packages importés sont énumérés dans `application/composer.json`
* La plupart sont nécessaires au framework symfony et ajoutées automatiquement par lui.
* **Une bibliothèque tierce y a été rajoutée pour faciliter la création des manifests IIIF : [iiif-manifest-generator_apis-backward-compatibility](https://gitlab.com/litt-arts-num/fonte-gaia/iiif-manifest-generator_apis-backward-compatibility).** Toutes ses fonctionnalités sont documentées sur son dépôt git. **Notez qu'il s'agit d'un fork de la [IIIF Manifest Generator PHP Library](https://github.com/yale-web-technologies/IIIF-Manifest-Generator) conçue par le [Yale University ITS CCT Web Technologies Team](https://github.com/yale-web-technologies).**



# Plus d'informations [sur le wiki](https://gitlab.com/litt-arts-num/fonte-gaia/ok-api/-/wikis/home)

Notamment :
* [Structure de l'application OUTDATED](https://gitlab.com/litt-arts-num/fonte-gaia/ok-api/-/wikis/structure-de-l-app)
* [Pour les développeurs](https://gitlab.com/litt-arts-num/fonte-gaia/ok-api/-/wikis/infos-developpeurs)
* [Pour aller plus loin : héberger sous un sous-domaine](https://gitlab.com/litt-arts-num/fonte-gaia/ok-api/-/wikis/sous-domaine)

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API