C. Lancement du site

Configuration du fichier config

Ouvrir le fichier de configuration dans le dossier Archimage2/config/

Il se nomme config_template.txt il faut le compléter puis le renommer en config.php

sudo cp /var/www/html/archimage_26.5/Archimage2/config/config_example.txt /var/www/html/archimage_26.5/Archimage2/config/config.php
sudo chown -R www-data:www-data /var/www/html/archimage_26.5/

Il est important de correctement saisir la partie URL et SQL afin que le site puisse se lancer. (jusqu'a la ligne 30).

Pour cela il faut l'ouvrir :

sudo nano /var/www/html/archimage_26.5/Archimage2/config/config.php

Le reste est optionnel et les valeurs par défaut devrait suffire. Nous détaillerons toutes ces options ici.

<?php declare(strict_types=1);

//##############################################################################
//
//             FRAMEWORK OPTIONS
//
//##############################################################################

// Application name used internally by the framework.
ParamManager::getInstance()->app_name="Archimage";

// Server name displayed or reused by the application.
ParamManager::getInstance()->server_name="Archimage";

// Public site title displayed in pages and headers.
ParamManager::getInstance()->site_title="ARCHIMAGE";

// Enable or disable debug mode; keep false on production servers.
ParamManager::getInstance()->debug=false;

// Name of the PHP session cookie used by the application.
ParamManager::getInstance()->site_session_name="ARCHIMAGE_SESSION";

// Main public URL of the Archimage instance.
ParamManager::getInstance()->server_url="https://archimage.com/";

// Root URL of the public site.
ParamManager::getInstance()->site_root="https://archimage.com/";

// URL of the main action endpoint; keep /action.php at the end.
ParamManager::getInstance()->site_action="https://archimage.com/action.php";


//##############################################################################
//
//             SQL DATABASE OPTIONS
//
//##############################################################################

// SQL engine used by Archimage; supported values are Sql::$MYSQL or Sql::$MARIADB.
ParamManager::getInstance()->sql_engine=Sql::$MYSQL; /* Sql::$MARIADB */

// Database server hostname or IP address.
ParamManager::getInstance()->sql_host="localhost";

// Database user used by Archimage.
ParamManager::getInstance()->sql_user="archimage-user";

// Database name used by Archimage.
ParamManager::getInstance()->sql_database="archimage-database";

// Password of the database user.
ParamManager::getInstance()->sql_pass="password";


//##############################################################################
//
//             EMAIL OPTIONS
//
//##############################################################################

// Email address receiving technical errors and application alerts.
ParamManager::getInstance()->error_email="error@email.com";

// Default public email address displayed by the application.
ParamManager::getInstance()->public_email="public@email.com";

// Email address used for the public contact form.
ParamManager::getInstance()->add("CONTACT_EMAIL","contact@email.com");

// Email transport method; common values are smtp, gmail, or null.
ParamManager::getInstance()->email_transport="smtp";

// Sender email address used by the application.
ParamManager::getInstance()->email_mail="mail@email.com";

// SMTP authentication username.
ParamManager::getInstance()->email_username="username";

// SMTP authentication password.
ParamManager::getInstance()->email_password="password";

// Optional IMAP mailbox used to store sent emails; leave empty to disable.
ParamManager::getInstance()->email_server=""; // Example: {email.com:993/imap/ssl/novalidate-cert}

// SMTP port used for outgoing emails.
ParamManager::getInstance()->email_port="587"; // Common values: 25, 465, 587.

// SMTP encryption mode; use tls, ssl, or null depending on the server.
ParamManager::getInstance()->email_encryption="ssl";

// SMTP authentication mode; use plain, login, cram-md5, ntlm, or null.
ParamManager::getInstance()->email_auth_mode="login";

// Verify the SMTP server certificate; set false only for self-signed certificates.
ParamManager::getInstance()->email_verify_peer="false";

// SMTP server hostname.
ParamManager::getInstance()->email_smtp_server="email.com";


//##############################################################################
//
//             TEMPORARY FILES AND LOG DIRECTORIES
//
//##############################################################################

// Temporary directory used during file uploads.
ParamManager::getInstance()->add("TMP_UPLOAD_DIR","/var/www/archimage_dir/tmp_upload/");

// Directory where application logs are written.
ParamManager::getInstance()->log_directory="/var/www/archimage_dir/logs/";

// Directory where email logs or stored emails are written.
ParamManager::getInstance()->log_dir_mail="/var/www/archimage_dir/mails/";


//##############################################################################
//
//             FILE REPOSITORY AND IIIF OPTIONS
//
//##############################################################################

// Main storage directory for archival files; ensure enough disk space is available.
ParamManager::getInstance()->add("REPOSITORY","/var/www/archimage_dir/repository");

// IIIF access policy: 0 = public, 1 = authenticated users only, 2 = disabled.
ParamManager::getInstance()->add("IIIF_ACCESS","0");

// Public URL of the IIIF image service.
ParamManager::getInstance()->add("IIIF_URL","https://archimage.com/iiif/");

// The IIIF URL must also be configured in the web server virtual host.


//##############################################################################
//
//              LOCAL FILES AND DEFAULT MEDIA OPTIONS
//
//##############################################################################

// Default image displayed when a file is missing.
ParamManager::getInstance()->add("IMAGE_NOT_FOUND",__DIR__.DIRECTORY_SEPARATOR."image_not_found.jpg");

// Default image displayed when a file is not accessible because of rights.
ParamManager::getInstance()->add("IMAGE_NOT_ACCESSIBLE",__DIR__.DIRECTORY_SEPARATOR."image_not_accessible.jpg");

// Font used by the image processing system for watermarks.
ParamManager::getInstance()->add("FONT_WATERMARK",__DIR__.DIRECTORY_SEPARATOR."FreeSans.ttf");

// Default image used for audio files.
ParamManager::getInstance()->add("IMAGE_DEFAULT_AUDIO",__DIR__.DIRECTORY_SEPARATOR."image_audio.jpg");

// Default image used for video files.
ParamManager::getInstance()->add("IMAGE_DEFAULT_VIDEO",__DIR__.DIRECTORY_SEPARATOR."image_video.jpg");

// Default image used for text documents.
ParamManager::getInstance()->add("IMAGE_DEFAULT_TEXT",__DIR__.DIRECTORY_SEPARATOR."image_text.jpg");

// Default image used for spreadsheet files.
ParamManager::getInstance()->add("IMAGE_DEFAULT_SPREADSHEET",__DIR__.DIRECTORY_SEPARATOR."image_spreadsheet.jpg");

// Default image used for 3D files.
ParamManager::getInstance()->add("IMAGE_DEFAULT_3D",__DIR__.DIRECTORY_SEPARATOR."image_3d.jpg");

// Default image used for manuscript archive records.
ParamManager::getInstance()->add("IMAGE_DEFAULT_AM",__DIR__.DIRECTORY_SEPARATOR."image_am.jpg");

// Default image used for estampage records.
ParamManager::getInstance()->add("IMAGE_DEFAULT_EST",__DIR__.DIRECTORY_SEPARATOR."image_estampage.jpg");

// Default image used for photograph records.
ParamManager::getInstance()->add("IMAGE_DEFAULT_PHOTO",__DIR__.DIRECTORY_SEPARATOR."image_photo.jpg");

// Default image used for planothèque records.
ParamManager::getInstance()->add("IMAGE_DEFAULT_PLANO",__DIR__.DIRECTORY_SEPARATOR."image_plano.jpg");


//##############################################################################
//
//             EXTERNAL DATA STORAGE AND API OPTIONS
//
//##############################################################################

// Enable or disable the EFA external API integration.
ParamManager::getInstance()->add("EFA_API","0");

// URL of the JSON API used for missions data.
ParamManager::getInstance()->add("MISSIONS_API","");

// URL of the JSON API used for manifestations or events data.
ParamManager::getInstance()->add("MANIFESTATIONS_API","");

// URL of the Chronique API.
ParamManager::getInstance()->add("CHRONIQUE_API","");

// URL of the ONIX export used for publications.
ParamManager::getInstance()->add("PUBLICATIONS_API","");

// Token used to access protected data exports.
ParamManager::getInstance()->add("DATA_API_TOKEN","");

// Base URL of the IdRef API.
ParamManager::getInstance()->add("IDREF_API","https://www.idref.fr");


//##############################################################################
//
//             DATACITE DOI OPTIONS
//
//##############################################################################

// Base URL of the DataCite API; use the production URL outside test environments.
ParamManager::getInstance()->add("DATACITE_API", "https://api.test.datacite.org"); // Production: https://api.datacite.org

// Base URL used to resolve DOI handles.
ParamManager::getInstance()->add("DATACITE_BASE_URL", "https://handle.test.datacite.org/"); // Production: https://doi.org/

// URL of the DataCite hosted pages interface.
ParamManager::getInstance()->add("DATACITE_HOSTED_PAGES", "https://doi.test.datacite.org/dois/"); // Production: https://doi.datacite.org/dois/

// DOI prefix assigned by DataCite.
ParamManager::getInstance()->add("DATACITE_PREFIX", "");

// DataCite account username.
ParamManager::getInstance()->add("DATACITE_USER", "");

// DataCite account password.
ParamManager::getInstance()->add("DATACITE_PASSWORD", "");

// Institution-specific DataCite configuration value.
ParamManager::getInstance()->add("DATACITE_EFE", "");

// Default DOI suffix or suffix prefix used by the application.
ParamManager::getInstance()->add("DATACITE_SUFFIX", "");

// Contact email used for DOI-related metadata.
ParamManager::getInstance()->add("DATACITE_EMAIL", "");

// Default author used when no specific author is available.
ParamManager::getInstance()->add("DATACITE_DEFAULT_AUTHOR", "");


//##############################################################################
//
//             PUBLIC TEMPLATE AND ANALYTICS OPTIONS
//
//##############################################################################

// Public site template directory name located in Archimage2/template/.
ParamManager::getInstance()->add("TEMPLATE_STATIC_HTML","DEFAULT");

// Matomo analytics server URL.
ParamManager::getInstance()->add("MATOMO_URL","");

// Matomo site identifier.
ParamManager::getInstance()->add("MATOMO_ID","");


//##############################################################################
//
//             LEAFLET MAP OPTIONS
//
//##############################################################################

// Default height of standard Leaflet maps in pixels.
ParamManager::getInstance()->add("LEAFLET_HEIGHT","400");

// Maximum zoom level allowed on Leaflet maps.
ParamManager::getInstance()->add("LEAFLET_MAX_ZOOM","19");

// Default zoom level used when a map is opened.
ParamManager::getInstance()->add("LEAFLET_DEFAULT_ZOOM","6");

// Default latitude used to center maps.
ParamManager::getInstance()->add("LEAFLET_DEFAULT_CENTER_X","37.39");

// Default longitude used to center maps.
ParamManager::getInstance()->add("LEAFLET_DEFAULT_CENTER_Y","25.26");

// Default geometry color used on maps.
ParamManager::getInstance()->add("LEAFLET_GEO_COLOR","#6B82AC");

// Default geometry line weight.
ParamManager::getInstance()->add("LEAFLET_GEO_WEIGHT","1");

// Default geometry opacity.
ParamManager::getInstance()->add("LEAFLET_GEO_OPACITY","0.1");

// Private marker threshold for very large result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PRIVATE_TOO_LARGE","100000");

// Private marker threshold for large result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PRIVATE_LARGE","50000");

// Private marker threshold for medium result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PRIVATE_MEDIUM","10000");

// Private marker threshold for small result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PRIVATE_SMALL","500");

// Private marker threshold for very small result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PRIVATE_VERY_SMALL","50");

// Public marker threshold for very large result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PUBLIC_TOO_LARGE","10000");

// Public marker threshold for large result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PUBLIC_LARGE","3000");

// Public marker threshold for medium result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PUBLIC_MEDIUM","500");

// Public marker threshold for small result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PUBLIC_SMALL","100");

// Public marker threshold for very small result sets.
ParamManager::getInstance()->add("LEAFLET_MARKER_PUBLIC_VERY_SMALL","10");

// Height of Leaflet maps displayed in search pages.
ParamManager::getInstance()->add("LEAFLET_RESEARCH_HEIGHT","600");

// Color used for level 0 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_0","#6B82AC");

// Line weight used for level 0 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_0_W","1");

// Opacity used for level 0 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_0_O","0.1");

// Color used for level 1 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_1","#6B82AC");

// Line weight used for level 1 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_1_W","1");

// Opacity used for level 1 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_1_O","0.1");

// Color used for level 2 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_2","#A2D5CD");

// Line weight used for level 2 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_2_W","8");

// Opacity used for level 2 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_2_O","0.5");

// Color used for level 3 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_3","#74C796");

// Line weight used for level 3 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_3_W","5");

// Opacity used for level 3 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_3_O","0.7");

// Color used for level 4 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_4","#495D63");

// Line weight used for level 4 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_4_W","1");

// Opacity used for level 4 sector geometries.
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_4_O","1");


//##############################################################################
//
//             PUBLIC RECORD DISPLAY OPTIONS
//
//##############################################################################

// Open the periods block by default on public records; 1 = opened, 0 = closed.
ParamManager::getInstance()->add("FICHE_PUBLIQUE_PERIODES_EXPAND","1");

// Display mode for period links; 0 = hidden, 1 = full URL, 2 = icon only.
ParamManager::getInstance()->add("FICHE_PUBLIQUE_PERIODES_LIENS","2");

// Open the sectors block by default on public records; 1 = opened, 0 = closed.
ParamManager::getInstance()->add("FICHE_PUBLIQUE_SECTEURS_EXPAND","1");


//##############################################################################
//
//             MANUSCRIPT ARCHIVES OPTIONS
//
//##############################################################################

// Label format for manuscript archives; supported values include REFERENCE, LEGENDE, or BOTH.
ParamManager::getInstance()->add("AM_LABEL","BOTH");

// Display type for manuscript archives; supported values include NORMAL or NONE.
ParamManager::getInstance()->add("AM_TYPE","NONE");

// Display the full manuscript archive tree in the record page; 1 = enabled.
ParamManager::getInstance()->add("AM_TREE_FULL","1");


//##############################################################################
//
//             AUTHORITY AND DESCRIPTION FIELD OPTIONS
//
//##############################################################################

// Author display mode; NORMAL uses local display, IDREF uses IdRef-based display.
ParamManager::getInstance()->add("AUTEUR_FORME","NORMAL");

// Optional custom label for description field desc1.
//ParamManager::getInstance()->add("desc1","Example field name");

// Optional custom type for desc1; supported values include Int, Text, and TextArea.
//ParamManager::getInstance()->add("desc1Type","Text");

// Optional custom label for description field desc2.
//ParamManager::getInstance()->add("desc2","Example field name");

// Optional custom type for desc2; supported values include Int, Text, and TextArea.
//ParamManager::getInstance()->add("desc2Type","Int");

// Custom description fields can be configured from desc1 to desc20.


//##############################################################################
//
//             DUBLIN CORE EXPORT OPTIONS
//
//##############################################################################

// Default Dublin Core source value.
ParamManager::getInstance()->add("DC_SOURCE","Institution Archive department");

// Default Dublin Core publisher value.
ParamManager::getInstance()->add("DC_PUBLISHER","Institution Publisher");

// Default Dublin Core language code.
ParamManager::getInstance()->add("DC_DEFAULT_LANGUAGE","en");


//##############################################################################
//
//             EAD EXPORT OPTIONS
//
//##############################################################################

// Default EAD contributor value.
ParamManager::getInstance()->add("EAD_CONTRIBUTOR","Institution contributor");

// Default EAD title value.
ParamManager::getInstance()->add("EAD_TITLE","Institution Archive department catalog");

// EAD header site title.
ParamManager::getInstance()->add("EAD_HEADER_SITE_TITLE","");

// EAD header profile description.
ParamManager::getInstance()->add("EAD_HEADER_PROFILE_DESC","");

// EAD identifier for the institution or catalog.
ParamManager::getInstance()->add("EAD_IDENTIFIER","");

// EAD country code.
ParamManager::getInstance()->add("EAD_COUNTRY_CODE","");

// EAD repository code.
ParamManager::getInstance()->add("EAD_REPOSITORY_CODE","");

// EAD corporate name of the repository or institution.
ParamManager::getInstance()->add("EAD_CORPNAME","");

// EAD source statement.
ParamManager::getInstance()->add("EAD_SOURCE","");

// EAD source subject.
ParamManager::getInstance()->add("EAD_SOURCE_SUBJECT","");

// EAD authority number.
ParamManager::getInstance()->add("EAD_AUTH_NUMBER","");

// Street address used in EAD exports.
ParamManager::getInstance()->add("EAD_ADDRESS_STREET","");

// Postal code and city used in EAD exports.
ParamManager::getInstance()->add("EAD_ADDRESS_CODE_CITY","");

// Country used in EAD exports.
ParamManager::getInstance()->add("EAD_ADDRESS_COUNTRY","");

// Phone number used in EAD exports.
ParamManager::getInstance()->add("EAD_ADDRESS_PHONE","");

// Email address used in EAD exports.
ParamManager::getInstance()->add("EAD_ADDRESS_EMAIL","");

// EAD access restriction statement; extref links are allowed.
ParamManager::getInstance()->add("EAD_ACCESS_RESTRICT","");

// First EAD creation profile line.
ParamManager::getInstance()->add("EAD_CREATION_PROFILE_1","");

// Second EAD creation profile line.
ParamManager::getInstance()->add("EAD_CREATION_PROFILE_2","");

// Default ISO language code used in EAD exports.
ParamManager::getInstance()->add("EAD_DEFAULT_LANGUAGE_ISO","en");

// Default language label used in EAD exports.
ParamManager::getInstance()->add("EAD_DEFAULT_LANGUAGE_LABEL","");

// EAD genreform type.
ParamManager::getInstance()->add("EAD_GENREFORM_TYPE","");

// EAD genreform label.
ParamManager::getInstance()->add("EAD_GENREFORM_LABEL","");

// EAD geographic name role.
ParamManager::getInstance()->add("EAD_GEOGNAME_ROLE","");

// EAD origination corporate name for site records.
ParamManager::getInstance()->add("EAD_SITE_CORPNAME_ORIGINATION","");

// EAD scope and content text for site records.
ParamManager::getInstance()->add("EAD_SITE_SCOPE_CONTENT","");

// EAD accruals text for site records.
ParamManager::getInstance()->add("EAD_SITE_ACCRUALS","");

// Prefix used for mission-related EAD site entries.
ParamManager::getInstance()->add("EAD_SITE_MISSION_PREFIX","");

// Prefix used for decade-related EAD site entries.
ParamManager::getInstance()->add("EAD_SITE_DECENNIE_PREFIX","");

// Prefix used for year-related EAD site entries.
ParamManager::getInstance()->add("EAD_SITE_ANNEE_PREFIX","");

// EAD arrangements statement for site records.
ParamManager::getInstance()->add("EAD_SITE_ARRANGEMENTS","");

// Repository URL used in EAD site records.
ParamManager::getInstance()->add("EAD_SITE_URL_REPOSITORY","");

// Genreform label used in EAD site records.
ParamManager::getInstance()->add("EAD_SITE_GENREFORM_LABEL","");

// Default placeholder used when a date is missing in EAD exports.
ParamManager::getInstance()->add("EAD_DEFAULT_DATE_NOT_SET","_Date_not_set");

// Default placeholder used when a mission is missing in EAD exports.
ParamManager::getInstance()->add("EAD_DEFAULT_MISSION_NOT_SET","mission_not_specified");

// Default placeholder used when a sector is missing in EAD exports.
ParamManager::getInstance()->add("EAD_DEFAULT_SECTEUR_NOT_SET","sector_not_specified");


//##############################################################################
//
//             RIGHTS, LICENCE, DOWNLOAD AND IIIF METADATA OPTIONS
//
//##############################################################################

// Licence statement displayed for descriptions.
ParamManager::getInstance()->add("LICENCE_DESCRIPTIONS","Licence....");

// Enable liasses support for IFAO-specific workflows; 0 = disabled, 1 = enabled.
ParamManager::getInstance()->add("ACTIVATE_LIASSES","0");

// Enable proxying of ONIX publication images; 0 = disabled, 1 = enabled.
ParamManager::getInstance()->add("PUBLICATIONS_IMG_PROXY","0");

// Title displayed above the download message.
ParamManager::getInstance()->add("DOWNLOAD_MESSAGE_TITLE","");

// Download message displayed to users.
ParamManager::getInstance()->add("DOWNLOAD_MESSAGE","");

// Attribution text included in IIIF manifests.
ParamManager::getInstance()->add("IIIF_ATTRIBUTION","Archimage Licensed");

// Licence URL included in IIIF manifests.
ParamManager::getInstance()->add("IIIF_LICENCE","http://creativecommons.org/licenses/by/4.0/");

// Salt used for consultant API keys; leave empty to use the default value.
ParamManager::getInstance()->add("API_KEY","");


//##############################################################################
//
//             PUBLIC SEARCH OPTIONS
//
//##############################################################################

// Optional comma-separated list of public search modules to disable.
//ParamManager::getInstance()->add("DESACTIVATE_SEARCH","1,2,3,4");

/*
    Search module identifiers:
    RECHERCHE_SIMPLE=1;
    RECHERCHE_AVANCEE=2;
    RECHERCHE_INVENTAIRE=3;
    RECHERCHE_AM=4;
    RECHERCHE_GEO=5;
    RECHERCHER_XLS=6;
    COLLECTION_ARCHIVES=7;
    RECHERCHE_PHOTO_GEO=8;
    RECHERCHE_MISSIONS=9;
    RECHERCHE_SECTEUR_GEO=10;
    RECHERCHE_PUBLICATIONS=11;
    RECHERCHE_DERNIERES_MODIFICATIONS=12;
 */


//##############################################################################
//
//             ADMIN PANEL STYLE OPTIONS
//
//##############################################################################

// Main color used by the administration interface.
StyleManager::getInstance()->main_colour="#6B82AC";

// Secondary color used by the administration interface.
StyleManager::getInstance()->colour_2="#003459";

// Third color used by the administration interface.
StyleManager::getInstance()->colour_3="#007EA7";

// Primary font color used by the administration interface.
StyleManager::getInstance()->font_colour_1="";

// Secondary font color used by the administration interface.
StyleManager::getInstance()->font_colour_2="";

// Primary link color used by the administration interface.
StyleManager::getInstance()->link_colour_1="";

// Hover color for primary links.
StyleManager::getInstance()->link_colour_1_hover="";

// Secondary link color used by the administration interface.
StyleManager::getInstance()->link_colour_2="";

// Hover color for secondary links.
StyleManager::getInstance()->link_colour_2_hover="";


//##############################################################################
//
//             REDIS CACHE OPTIONS
//
//##############################################################################

// Redis can be used as a cache backend to improve performance.

// Redis server hostname.
//ParamManager::getInstance()->redis_hostname='';

// Redis server port.
//ParamManager::getInstance()->redis_port='';

// Redis authentication username.
//ParamManager::getInstance()->redis_username='';

// Redis authentication password.
//ParamManager::getInstance()->redis_password='';

// Redis database index.
//ParamManager::getInstance()->redis_dbindex='';

// Redis connection timeout.
//ParamManager::getInstance()->redis_timeout='';

// Redis read timeout.
//ParamManager::getInstance()->redis_read_timeout='1.5';

// Redis retry interval.
//ParamManager::getInstance()->redis_retry_interval='';


//##############################################################################
//
//             IMAGE CACHE, CONNECTORS AND ENGINE OPTIONS
//
//##############################################################################

// Optional IIIF cache directory used to improve image delivery performance.
//ParamManager::getInstance()->add("IIIF_CACHE_DIRECTORY","/var/www/archimage_dir/iiif_cache/");

// Enable the FranceArchives page using the OAI-PMH connector; 0 = disabled, 1 = enabled.
//ParamManager::getInstance()->add("FranceArchives","0");

// Image processing engine used by Archimage; supported values are vips, imagick, or gd.
ParamManager::getInstance()->add("IMAGE_ENGINE","vips");


//##############################################################################
//
//             LANGUAGE AND ROUTING OPTIONS
//
//##############################################################################

// Enabled interface languages, separated by commas.
ParamManager::getInstance()->add("LANGUAGES","fr"); // Example: fr,en,es,gr,it.

// Default interface language; use auto to detect it automatically.
ParamManager::getInstance()->add("DEFAULT_LANG","fr");

// Route identifier used in public URLs.
KRoute::overideKrouteIdentifier("r");


//##############################################################################
//
//             SECURITY AND PROXY OPTIONS
//
//##############################################################################

// Enable or disable user impersonation in the administration interface.
//ParamManager::getInstance()->impersonate=true;

// Trusted reverse proxy IP address used to resolve the real client IP.
//ParamManager::getInstance()->trusted_proxy="internal-ip";

Problème pouvant survenir ...

PHP Notice: session_start(): ps_files_cleanup_dir: opendir(/var/lib/php/session) failed: Permission denied (13)

Ce problème peut survenir sur les distributions sous Debian.


sudo chown www-data:www-data /var/lib/php/sessions/ -Rf

libvips error: wbuffer_write: write failed system error: No space left on device wbuffer_write: write failed system error

Le répertoire /tmp utilisé par défaut pour la conversion des fichiers images est trop petit.

Pour cela on peut demander à VIPS d'utiliser plus de RAM ou bien d'utiliser un autre dossier ayant plus d'espace disponible

Pour cela dans le ficher apache.conf ou bien pour FPM le fichier www.conf veuillez utiliser ces options :


# Garder en Ram les fichiers plus petit que 500M
env[VIPS_DISC_THRESHOLD] = 500m

Lancement de la partie paramétrage

Se rendre sur l'URL spécifié lors de la configuration du serveur Web : dans notre exemple site-archimage.com

La réussite de l'affichage de la page d'installation validera votre configuration de votre serveur Web.

L'installation consistera en 4 étapes:


1. Vérification de l'installation de PHP et des extensions

image.png


2. Vérification des permissions des dossiers

image.png


3. Vérification des accès et mise en place de la base de données

image.png


4. Création du compte administrateur

image.png


À cette étape il faudra supprimer le fichier install.php situé dans le repertoire actif du site web :

sudo rm /var/www/html/archimage_26.5/Archimage2/www/install.php

Puis modifier les premières lignes du fichier index pour commenter ou supprimer la ligne d'inclusion du fichier install.php

sudo nano /var/www/html/archimage_26.5/Archimage2/www/index.php

de cette façon :

<?php declare(strict_types=1);

//INSTALL REMOVE THIS
require_once("install.php");
//####################

 en 

<?php declare(strict_types=1);

//INSTALL REMOVE THIS
//require_once("install.php");
//####################

Enregistrer avec Ctrl O puis Ctrl X pour quitter.

Vous pouvez cliquer maintenant sur l'index.php.

Et vous rendre sur la suite de la configuration.

 

Paramètres avancées du fichier de configuration

Le fichier Archimage2/config/config.php contient les principaux paramètres techniques de l’application Archimage.

Il permet d’adapter une instance d’Archimage à son environnement d’installation : nom du site, URL publiques, base de données, envoi des courriels, stockage des fichiers, accès IIIF, intégrations externes, options cartographiques, exports documentaires, cache, langues et paramètres de sécurité.

Voir le fichier config.php commenté ici.

Ce fichier s’adresse principalement aux administrateurs système, aux développeurs et aux utilisateurs avancés chargés de maintenir ou d’adapter une instance Archimage.

Attention
Ce fichier peut contenir des informations sensibles, notamment les mots de passe SQL, SMTP, Redis ou DataCite. Il ne doit pas être exposé publiquement et ne doit jamais être copié dans une documentation sans anonymisation préalable.


1. Options générales de l’application

Ces paramètres définissent l’identité générale de l’instance Archimage.

Paramètre Description
app_name Nom interne de l’application utilisé par le framework.
server_name Nom du serveur ou de l’instance affiché ou réutilisé par l’application.
site_title Titre public du site affiché dans les pages et en-têtes.
debug Active ou désactive le mode débogage ; doit rester à false en production.
site_session_name Nom du cookie de session PHP utilisé par l’application.
server_url URL principale publique de l’instance Archimage.
site_root URL racine du site public.
site_action URL du point d’entrée principal des actions ; doit conserver /action.php.

Exemple :

ParamManager::getInstance()->server_url="https://archimage.com/";
ParamManager::getInstance()->site_root="https://archimage.com/";
ParamManager::getInstance()->site_action="https://archimage.com/action.php";

2. Connexion à la base de données SQL

Archimage utilise une base de données SQL. Le moteur peut être MySQL ou MariaDB selon l’installation.

Paramètre Description
sql_engine Moteur SQL utilisé par Archimage : Sql::$MYSQL ou Sql::$MARIADB.
sql_host Nom d’hôte ou adresse IP du serveur de base de données.
sql_user Utilisateur SQL utilisé par Archimage.
sql_database Nom de la base de données Archimage.
sql_pass Mot de passe de l’utilisateur SQL.

Exemple :

ParamManager::getInstance()->sql_engine=Sql::$MYSQL; /* Sql::$MARIADB */
ParamManager::getInstance()->sql_host="localhost";
ParamManager::getInstance()->sql_user="archimage-user";
ParamManager::getInstance()->sql_database="archimage-database";
ParamManager::getInstance()->sql_pass="password";

Recommandation
L’utilisateur SQL doit disposer uniquement des droits nécessaires au fonctionnement d’Archimage. Il est déconseillé d’utiliser un compte administrateur SQL global.


3. Paramètres des courriels

Ces paramètres configurent les adresses utilisées par l’application et l’envoi des courriels via SMTP.

3.1 Adresses utilisées par l’application

Paramètre Description
error_email Adresse recevant les erreurs techniques et alertes applicatives.
public_email Adresse publique par défaut affichée par l’application.
CONTACT_EMAIL Adresse utilisée par le formulaire de contact public.

3.2 Envoi des courriels

Paramètre Description
email_transport Méthode d’envoi utilisée ; valeurs courantes : smtp, gmail ou null.
email_mail Adresse expéditrice utilisée par l’application.
email_username Nom d’utilisateur utilisé pour l’authentification SMTP.
email_password Mot de passe utilisé pour l’authentification SMTP.
email_port Port SMTP utilisé pour l’envoi des messages.
email_encryption Mode de chiffrement SMTP : tls, ssl ou null.
email_auth_mode Mode d’authentification SMTP : plain, login, cram-md5, ntlm ou null.
email_verify_peer Vérifie le certificat du serveur SMTP ; à désactiver uniquement pour un certificat autosigné.
email_smtp_server Nom d’hôte du serveur SMTP.

3.3 Stockage optionnel des messages envoyés

Paramètre Description
email_server Boîte IMAP optionnelle utilisée pour stocker les messages envoyés ; laisser vide pour désactiver cette fonction.

Exemple :

ParamManager::getInstance()->email_transport="smtp";
ParamManager::getInstance()->email_mail="mail@email.com";
ParamManager::getInstance()->email_username="username";
ParamManager::getInstance()->email_password="password";
ParamManager::getInstance()->email_port="587";
ParamManager::getInstance()->email_encryption="ssl";
ParamManager::getInstance()->email_auth_mode="login";
ParamManager::getInstance()->email_smtp_server="email.com";

Attention
Le paramètre email_verify_peer="false" ne doit être utilisé que dans des cas spécifiques, par exemple avec un certificat autosigné. En production, il est préférable d’utiliser un certificat valide.


4. Répertoires temporaires, journaux et stockage

Ces paramètres définissent les emplacements utilisés par Archimage pour les fichiers temporaires, les logs, les mails et le dépôt principal des documents.

Paramètre Description
TMP_UPLOAD_DIR Répertoire temporaire utilisé lors de l’envoi de fichiers.
log_directory Répertoire où sont écrits les journaux applicatifs.
log_dir_mail Répertoire où sont stockés les journaux ou copies de courriels.
REPOSITORY Répertoire principal de stockage des fichiers documentaires.

Exemple :

ParamManager::getInstance()->add("TMP_UPLOAD_DIR","/var/www/archimage_dir/tmp_upload/");
ParamManager::getInstance()->log_directory="/var/www/archimage_dir/logs/";
ParamManager::getInstance()->log_dir_mail="/var/www/archimage_dir/mails/";
ParamManager::getInstance()->add("REPOSITORY","/var/www/archimage_dir/repository");

Recommandation
Le répertoire REPOSITORY doit disposer d’un espace disque suffisant et faire l’objet d’une politique de sauvegarde adaptée, car il contient les fichiers documentaires gérés par Archimage.


5. Paramètres IIIF

Archimage peut exposer les images via un service IIIF.

Paramètre Description
IIIF_ACCESS Politique d’accès IIIF : 0 public, 1 réservé aux utilisateurs connectés, 2 désactivé.
IIIF_URL URL publique du service IIIF.
IIIF_CACHE_DIRECTORY Répertoire optionnel de cache IIIF pour améliorer les performances.
IIIF_ATTRIBUTION Texte d’attribution ajouté dans les manifestes IIIF.
IIIF_LICENCE URL de licence ajoutée dans les manifestes IIIF.

Exemple :

ParamManager::getInstance()->add("IIIF_ACCESS","0");
ParamManager::getInstance()->add("IIIF_URL","https://archimage.com/iiif/");
ParamManager::getInstance()->add("IIIF_ATTRIBUTION","Archimage Licensed");
ParamManager::getInstance()->add("IIIF_LICENCE","http://creativecommons.org/licenses/by/4.0/");

Note
L’URL IIIF doit également être configurée au niveau du serveur web, par exemple dans le virtual host Apache ou Nginx.


6. Images par défaut et traitements d’image

Ces paramètres définissent les images de remplacement utilisées lorsque le fichier original est manquant, inaccessible ou lorsqu’un type de média ne dispose pas de vignette directe.

Paramètre Description
IMAGE_NOT_FOUND Image affichée lorsqu’un fichier est manquant.
IMAGE_NOT_ACCESSIBLE Image affichée lorsqu’un fichier n’est pas accessible en raison des droits.
FONT_WATERMARK Police utilisée pour les filigranes lors des traitements d’image.
IMAGE_DEFAULT_AUDIO Image par défaut pour les fichiers audio.
IMAGE_DEFAULT_VIDEO Image par défaut pour les fichiers vidéo.
IMAGE_DEFAULT_TEXT Image par défaut pour les documents textuels.
IMAGE_DEFAULT_SPREADSHEET Image par défaut pour les tableurs.
IMAGE_DEFAULT_3D Image par défaut pour les fichiers 3D.
IMAGE_DEFAULT_AM Image par défaut pour les archives manuscrites.
IMAGE_DEFAULT_EST Image par défaut pour les estampages.
IMAGE_DEFAULT_PHOTO Image par défaut pour les photographies.
IMAGE_DEFAULT_PLANO Image par défaut pour les plans.
IMAGE_ENGINE Moteur de traitement d’image utilisé : vips, imagick ou gd.

Exemple :

ParamManager::getInstance()->add("IMAGE_ENGINE","vips");

Recommandation
Le moteur vips est généralement recommandé pour les traitements d’images volumineuses, car il est performant et moins consommateur en mémoire que d’autres solutions.


7. Intégrations avec les API externes

Archimage peut être connecté à différentes sources de données externes, notamment des API institutionnelles, IdRef, des exports ONIX ou d’autres services documentaires.

Paramètre Description
EFA_API Active ou désactive l’intégration avec les API EFA.
MISSIONS_API URL de l’API JSON utilisée pour les missions.
MANIFESTATIONS_API URL de l’API JSON utilisée pour les manifestations ou événements.
CHRONIQUE_API URL de l’API de la Chronique des fouilles.
PUBLICATIONS_API URL de l’export ONIX utilisé pour les publications.
DATA_API_TOKEN Jeton d’accès aux exports de données protégés.
IDREF_API URL de base de l’API IdRef.

Exemple :

ParamManager::getInstance()->add("EFA_API","0");
ParamManager::getInstance()->add("IDREF_API","https://www.idref.fr");

8. Paramètres DataCite et DOI

Ces paramètres permettent de configurer l’intégration avec DataCite pour la gestion ou la création de DOI.

Paramètre Description
DATACITE_API URL de l’API DataCite ; utiliser l’URL de production hors environnement de test.
DATACITE_BASE_URL URL de résolution des DOI.
DATACITE_HOSTED_PAGES URL de l’interface des pages hébergées DataCite.
DATACITE_PREFIX Préfixe DOI attribué par DataCite.
DATACITE_USER Nom d’utilisateur du compte DataCite.
DATACITE_PASSWORD Mot de passe du compte DataCite.
DATACITE_EFE Valeur de configuration spécifique à l’établissement.
DATACITE_SUFFIX Suffixe ou préfixe de suffixe DOI utilisé par l’application.
DATACITE_EMAIL Adresse de contact utilisée dans les métadonnées DOI.
DATACITE_DEFAULT_AUTHOR Auteur par défaut utilisé lorsqu’aucun auteur spécifique n’est disponible.

Exemple de configuration de test :

ParamManager::getInstance()->add("DATACITE_API", "https://api.test.datacite.org");
ParamManager::getInstance()->add("DATACITE_BASE_URL", "https://handle.test.datacite.org/");
ParamManager::getInstance()->add("DATACITE_HOSTED_PAGES", "https://doi.test.datacite.org/dois/");

Attention
Les URLs de test doivent être remplacées par les URLs de production lorsque les DOI doivent être publiés officiellement.


9. Template public et statistiques

Ces paramètres définissent le thème public utilisé par Archimage et l’éventuelle intégration avec Matomo.

Paramètre Description
TEMPLATE_STATIC_HTML Nom exact du dossier de template situé dans Archimage2/template/.
MATOMO_URL URL du serveur Matomo utilisé pour les statistiques.
MATOMO_ID Identifiant du site dans Matomo.

Exemple :

ParamManager::getInstance()->add("TEMPLATE_STATIC_HTML","DEFAULT");
ParamManager::getInstance()->add("MATOMO_URL","");
ParamManager::getInstance()->add("MATOMO_ID","");

10. Options cartographiques Leaflet

Archimage utilise Leaflet pour l’affichage cartographique. Ces paramètres définissent les dimensions, le zoom, le centre par défaut, les couleurs et les seuils d’affichage des marqueurs.

10.1 Paramètres généraux de carte

Paramètre Description
LEAFLET_HEIGHT Hauteur par défaut des cartes Leaflet, en pixels.
LEAFLET_MAX_ZOOM Niveau de zoom maximal autorisé.
LEAFLET_DEFAULT_ZOOM Niveau de zoom utilisé par défaut à l’ouverture d’une carte.
LEAFLET_DEFAULT_CENTER_X Latitude utilisée pour centrer la carte par défaut.
LEAFLET_DEFAULT_CENTER_Y Longitude utilisée pour centrer la carte par défaut.
LEAFLET_GEO_COLOR Couleur par défaut des géométries.
LEAFLET_GEO_WEIGHT Épaisseur par défaut des traits des géométries.
LEAFLET_GEO_OPACITY Opacité par défaut des géométries.
LEAFLET_RESEARCH_HEIGHT Hauteur des cartes affichées dans les pages de recherche.

Note sur CENTER_X et CENTER_Y
Même si les noms des paramètres utilisent X et Y, ils sont transmis à Leaflet sous la forme [center_x, center_y]. Leaflet attend un tableau au format [latitude, longitude].
Ainsi, LEAFLET_DEFAULT_CENTER_X correspond à la latitude et LEAFLET_DEFAULT_CENTER_Y correspond à la longitude.

Exemple :

ParamManager::getInstance()->add("LEAFLET_DEFAULT_CENTER_X","37.39");
ParamManager::getInstance()->add("LEAFLET_DEFAULT_CENTER_Y","25.26");

10.2 Seuils d’affichage des marqueurs

Ces seuils permettent d’adapter l’affichage des marqueurs selon le nombre de résultats à afficher.

Paramètre Description
LEAFLET_MARKER_PRIVATE_TOO_LARGE Seuil privé pour un ensemble de résultats très volumineux.
LEAFLET_MARKER_PRIVATE_LARGE Seuil privé pour un grand ensemble de résultats.
LEAFLET_MARKER_PRIVATE_MEDIUM Seuil privé pour un ensemble moyen de résultats.
LEAFLET_MARKER_PRIVATE_SMALL Seuil privé pour un petit ensemble de résultats.
LEAFLET_MARKER_PRIVATE_VERY_SMALL Seuil privé pour un très petit ensemble de résultats.
LEAFLET_MARKER_PUBLIC_TOO_LARGE Seuil public pour un ensemble de résultats très volumineux.
LEAFLET_MARKER_PUBLIC_LARGE Seuil public pour un grand ensemble de résultats.
LEAFLET_MARKER_PUBLIC_MEDIUM Seuil public pour un ensemble moyen de résultats.
LEAFLET_MARKER_PUBLIC_SMALL Seuil public pour un petit ensemble de résultats.
LEAFLET_MARKER_PUBLIC_VERY_SMALL Seuil public pour un très petit ensemble de résultats.

10.3 Styles des secteurs

Les paramètres LEAFLET_SECTEUR_LVL_0 à LEAFLET_SECTEUR_LVL_4 définissent les styles graphiques des secteurs selon leur niveau hiérarchique.

Pour chaque niveau, trois paramètres sont disponibles :

Suffixe Description
Aucun suffixe Couleur du secteur.
_W Épaisseur du trait.
_O Opacité.

Exemple :

ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_2","#A2D5CD");
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_2_W","8");
ParamManager::getInstance()->add("LEAFLET_SECTEUR_LVL_2_O","0.5");

11. Options d’affichage des notices publiques

Ces paramètres contrôlent l’affichage de certains blocs dans les fiches publiques.

Paramètre Description
FICHE_PUBLIQUE_PERIODES_EXPAND Ouvre le bloc des périodes par défaut : 1 ouvert, 0 fermé.
FICHE_PUBLIQUE_PERIODES_LIENS Mode d’affichage des liens de périodes : 0 caché, 1 URL complète, 2 icône seule.
FICHE_PUBLIQUE_SECTEURS_EXPAND Ouvre le bloc des secteurs par défaut : 1 ouvert, 0 fermé.

12. Options des archives manuscrites

Ces paramètres concernent l’affichage et l’organisation des archives manuscrites.

Paramètre Description
AM_LABEL Format du libellé pour les archives manuscrites : REFERENCE, LEGENDE ou BOTH.
AM_TYPE Mode d’affichage du type : NORMAL ou NONE.
AM_TREE_FULL Affiche l’arborescence complète dans la fiche : 1 activé.

13. Auteurs et champs descriptifs personnalisés

Paramètre Description
AUTEUR_FORME Mode d’affichage des auteurs : NORMAL ou IDREF.
desc1 à desc20 Libellés personnalisés optionnels pour les champs de description.
desc1Type à desc20Type Types optionnels des champs personnalisés : Int, Text ou TextArea.

Exemple :

//ParamManager::getInstance()->add("desc1","Example field name");
//ParamManager::getInstance()->add("desc1Type","Text");

14. Options Dublin Core

Ces paramètres définissent les valeurs par défaut utilisées dans les exports Dublin Core.

Paramètre Description
DC_SOURCE Valeur par défaut du champ source Dublin Core.
DC_PUBLISHER Valeur par défaut du champ éditeur Dublin Core.
DC_DEFAULT_LANGUAGE Code de langue par défaut utilisé dans les exports Dublin Core.

15. Options EAD

Ces paramètres permettent de personnaliser les exports EAD produits par Archimage.

Ils décrivent notamment l’institution, le dépôt, les informations d’adresse, les valeurs par défaut et les textes utilisés dans les notices ou ensembles documentaires exportés.

Paramètre Description
EAD_CONTRIBUTOR Contributeur par défaut dans les exports EAD.
EAD_TITLE Titre par défaut du catalogue EAD.
EAD_HEADER_SITE_TITLE Titre du site dans l’en-tête EAD.
EAD_HEADER_PROFILE_DESC Description du profil dans l’en-tête EAD.
EAD_IDENTIFIER Identifiant EAD de l’institution ou du catalogue.
EAD_COUNTRY_CODE Code pays utilisé dans les exports EAD.
EAD_REPOSITORY_CODE Code du dépôt ou de l’institution.
EAD_CORPNAME Nom de collectivité du dépôt ou de l’institution.
EAD_SOURCE Mention de source EAD.
EAD_SOURCE_SUBJECT Sujet associé à la source EAD.
EAD_AUTH_NUMBER Numéro d’autorité EAD.
EAD_ADDRESS_STREET Rue utilisée dans l’adresse EAD.
EAD_ADDRESS_CODE_CITY Code postal et ville utilisés dans l’adresse EAD.
EAD_ADDRESS_COUNTRY Pays utilisé dans l’adresse EAD.
EAD_ADDRESS_PHONE Téléphone utilisé dans l’adresse EAD.
EAD_ADDRESS_EMAIL Courriel utilisé dans l’adresse EAD.
EAD_ACCESS_RESTRICT Texte de restriction d’accès ; les liens extref sont possibles.
EAD_CREATION_PROFILE_1 Première ligne du profil de création EAD.
EAD_CREATION_PROFILE_2 Deuxième ligne du profil de création EAD.
EAD_DEFAULT_LANGUAGE_ISO Code ISO de langue par défaut.
EAD_DEFAULT_LANGUAGE_LABEL Libellé de langue par défaut.
EAD_GENREFORM_TYPE Type de genre ou forme EAD.
EAD_GENREFORM_LABEL Libellé de genre ou forme EAD.
EAD_GEOGNAME_ROLE Rôle associé aux noms géographiques.
EAD_SITE_CORPNAME_ORIGINATION Nom de collectivité d’origine pour les notices de site.
EAD_SITE_SCOPE_CONTENT Texte de portée et contenu pour les notices de site.
EAD_SITE_ACCRUALS Texte d’accroissement pour les notices de site.
EAD_SITE_MISSION_PREFIX Préfixe utilisé pour les entrées liées aux missions.
EAD_SITE_DECENNIE_PREFIX Préfixe utilisé pour les entrées liées aux décennies.
EAD_SITE_ANNEE_PREFIX Préfixe utilisé pour les entrées liées aux années.
EAD_SITE_ARRANGEMENTS Texte d’organisation ou classement pour les notices de site.
EAD_SITE_URL_REPOSITORY URL du dépôt utilisée pour les notices de site.
EAD_SITE_GENREFORM_LABEL Libellé de genre ou forme pour les notices de site.
EAD_DEFAULT_DATE_NOT_SET Valeur utilisée lorsqu’une date est absente.
EAD_DEFAULT_MISSION_NOT_SET Valeur utilisée lorsqu’une mission est absente.
EAD_DEFAULT_SECTEUR_NOT_SET Valeur utilisée lorsqu’un secteur est absent.

16. Licence, droits et téléchargement

Ces paramètres définissent certains textes liés aux droits, aux licences et au téléchargement.

Paramètre Description
LICENCE_DESCRIPTIONS Mention de licence affichée pour les descriptions.
DOWNLOAD_MESSAGE_TITLE Titre affiché au-dessus du message de téléchargement.
DOWNLOAD_MESSAGE Message affiché aux utilisateurs lors du téléchargement.
API_KEY Sel utilisé pour les clés API des consultants ; laisser vide pour utiliser la valeur par défaut.

17. Options spécifiques ou institutionnelles

Certains paramètres correspondent à des fonctionnalités spécifiques ou à des usages institutionnels particuliers.

Paramètre Description
ACTIVATE_LIASSES Active la gestion des liasses pour des workflows spécifiques ; 0 désactivé, 1 activé.
PUBLICATIONS_IMG_PROXY Active le proxy des images issues des publications ONIX ; 0 désactivé, 1 activé.
FranceArchives Active une page FranceArchives via le connecteur OAI-PMH ; 0 désactivé, 1 activé.

18. Désactivation de modules de recherche publique

Le paramètre DESACTIVATE_SEARCH, lorsqu’il est activé, permet de désactiver certains modules de recherche publique.

Il reçoit une liste d’identifiants séparés par des virgules.

Exemple :

//ParamManager::getInstance()->add("DESACTIVATE_SEARCH","1,2,3,4");

Identifiants disponibles :

Identifiant Module
1 Recherche simple
2 Recherche avancée
3 Recherche inventaire
4 Recherche archives manuscrites
5 Recherche géographique
6 Recherche XLS
7 Collection archives
8 Recherche photo géographique
9 Recherche missions
10 Recherche secteur géographique
11 Recherche publications
12 Recherche dernières modifications

19. Style de l’interface d’administration

Ces paramètres personnalisent les couleurs de l’interface d’administration.

Paramètre Description
main_colour Couleur principale de l’interface d’administration.
colour_2 Couleur secondaire.
colour_3 Troisième couleur utilisée par l’interface.
font_colour_1 Couleur principale du texte.
font_colour_2 Couleur secondaire du texte.
link_colour_1 Couleur principale des liens.
link_colour_1_hover Couleur des liens principaux au survol.
link_colour_2 Couleur secondaire des liens.
link_colour_2_hover Couleur des liens secondaires au survol.

Exemple :

StyleManager::getInstance()->main_colour="#6B82AC";
StyleManager::getInstance()->colour_2="#003459";
StyleManager::getInstance()->colour_3="#007EA7";

20. Cache Redis

Redis peut être utilisé comme cache applicatif afin d’améliorer les performances.

Paramètre Description
redis_hostname Nom d’hôte du serveur Redis.
redis_port Port du serveur Redis.
redis_username Nom d’utilisateur Redis.
redis_password Mot de passe Redis.
redis_dbindex Index de la base Redis utilisée.
redis_timeout Délai d’attente de connexion à Redis.
redis_read_timeout Délai d’attente de lecture Redis.
redis_retry_interval Intervalle de nouvelle tentative Redis.

Exemple :

//ParamManager::getInstance()->redis_hostname='';
//ParamManager::getInstance()->redis_port='';
//ParamManager::getInstance()->redis_password='';

21. Langues et routage

Ces paramètres définissent les langues disponibles et le comportement des routes publiques.

Paramètre Description
LANGUAGES Langues activées dans l’interface, séparées par des virgules.
DEFAULT_LANG Langue par défaut ; utiliser auto pour une détection automatique.
KRoute::overideKrouteIdentifier("r") Définit l’identifiant de route utilisé dans les URLs publiques.

Exemple :

ParamManager::getInstance()->add("LANGUAGES","fr");
ParamManager::getInstance()->add("DEFAULT_LANG","fr");
KRoute::overideKrouteIdentifier("r");

22. Sécurité et proxy

Ces paramètres concernent certaines fonctionnalités sensibles de l’administration et le fonctionnement derrière un proxy inverse.

Paramètre Description
impersonate Active ou désactive l’impersonation d’utilisateurs dans l’administration.
trusted_proxy Adresse IP du proxy inverse de confiance utilisée pour retrouver l’adresse IP réelle du client.

Exemple :

ParamManager::getInstance()->impersonate=true;
ParamManager::getInstance()->trusted_proxy="192.168.11.1";

Attention
L’impersonation est une fonctionnalité sensible. Elle doit être réservée aux administrateurs autorisés et utilisée uniquement dans un cadre maîtrisé.


23. Bonnes pratiques de configuration

Avant de mettre une instance Archimage en production, il est recommandé de vérifier les points suivants :


24. Exemple de configuration minimale

Une configuration minimale doit au moins renseigner correctement :

ParamManager::getInstance()->server_url="https://archimage.example.org/";
ParamManager::getInstance()->site_root="https://archimage.example.org/";
ParamManager::getInstance()->site_action="https://archimage.example.org/action.php";

ParamManager::getInstance()->sql_engine=Sql::$MYSQL;
ParamManager::getInstance()->sql_host="localhost";
ParamManager::getInstance()->sql_user="archimage-user";
ParamManager::getInstance()->sql_database="archimage-database";
ParamManager::getInstance()->sql_pass="CHANGE_ME";

ParamManager::getInstance()->add("REPOSITORY","/var/www/archimage_dir/repository");
ParamManager::getInstance()->add("IIIF_URL","https://archimage.example.org/iiif/");

Cette base doit ensuite être complétée selon les besoins de l’établissement : envoi des courriels, exports EAD ou Dublin Core, statistiques Matomo, API externes, DOI DataCite, cache Redis ou options cartographiques.

Mise à jour de version

Mise à jour automatique

Nous vous proposons de mettre à jour Archimage via un script PHP que vous pourrez trouver sur la forge suivante :

https://github.com/EFAthenes/archimage-script-update/tree/main

Veuillez choisir la version exacte de votre instance puis télécharger le script updateVersion.php

par exemple de la version 26.05 à 26.06

wget https://github.com/EFAthenes/archimage-script-update/raw/refs/heads/main/26.05_To_26.06/updateArchimage.php

Precaution : 

1) Le script ne fait pas de sauvegarde

2) Le script a besoin d'une connexion à internet

3) Le script doit pourvoir se connecter à la base de données

Une fois télécharger veuillez lancer le script localement sur le serveur.

sudo -u www-data php updateVersion.php /path/to/current/installation

Mise à jour manuelle

Pour cela il faut aller télécharger la release qui vous intérresse :

https://github.com/EFAthenes/archimage/releases 

Puis de consulter le Readme