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

  • a8a9e65
  • /
  • readme.md
Raw File Download

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
content badge
swh:1:cnt:74572ce5c5352741be3f0a9403e6ec71d09a0570
directory badge
swh:1:dir:a8a9e654733db47bd134e5718898fee0bb8c7d02

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
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
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