Mrbs

De wiki.infini

De l'anglais Meeting Room Booking System, MRBS est un système de réservation qui permet de réserver n'importe quelle ressource.

Le logiciel mrbs.sourceforge.io

Planification

Ce logiciel permet de planifier l'usage de salles (ou des activités), de définir des login afin qu'une personne (ou un groupe de personnes) qui réserve une salle, ne puisse pas modifier une réservation d'une autre salle effectuée par une autre personne. L'installation d'une réservation est simple en cliquant sur le calendrier, et on peut installer facilement des répétitions de réservation. On peut ensuite modifier une réservation particulière. Lorsqu'on réserve, on a accès à -Brève description- pour définir sa réservation, et on peut donner plus d'information dans -Description complète- mais on n'observe jamais le contenu de cette description complète dans les diverses visualisations.

Particularités

On peut lors d'une réservation, donner un type à cette réservation de manière à donner un sens général à cette occupation. On peut spécifier des types pour certaines salles. On peut mettre des couleurs pour ces types afin de clarifier les visualisations.

Visualisation

La visualisation (semaine ou journée) d'une activité ou d'une salle est satisfaisante car en vertical, on voit toutes les heures de la journée. La visualisation de toutes les salles en même temps est plus délicate car horizontale. La visualisation sur le mois est acceptable. Pour vaincre ces difficultés de visualisation, il faut déplacer la souris sur un emplacement et fugacement, vous voyez le détail. Vous pouvez aussi mettre des couleurs.

Exemple 1 Vous pouvez regarder la semaine du 15 - 21 mai 2023, sur le site suivant, où on gère des activités (à la place de salles) pour des groupes de personnes. En bas de la page, en couleur apparaissent les types choisis. Les types CaissierPrésent et CaissierAbsent ne sont utilisables que pour l'activité (ou salle) Caisse.


Installation

Pour l'installation, il y a des détails dans les explications sur le site sourceforge cité ci dessus. Nous mettons ici l'essentiel pour une installation chez infini.fr. On installe dans un répertoire, par exemple vous pouvez choisir mrbs, son logiciel dézippé. Une fois les fichiers installés, on va observer sous le répertoire choisi mrbs, différents autres répertoires. Le répertoire mrbs/web qui nous intéresse pour trouver les fichiers de configuration. Le répertoire mrbs / web / Themes / default / qui agit sur les apparences de l'interface (footer, header, et surtout styling.inc) On définit dans l'interface de gestion du domaine, son sous domaine (truc.nomdomaine.fr), on choisit son php 7.4 et on attribue un répertoire précis /mrbs/web/

On installe sa base de données. Si vous utilisez un serveur Web distant, vous devez utiliser votre programme d'administration de base de données (par exemple phpMyAdmin dans votre panneau de contrôle) pour créer les tables MRBS, en exécutant le contenu de tables.my.sql. Par exemple, si vous utilisez phpMyAdmin copiez le contenu de tables.my.sql dans le SQL de phpMyAdmin et exécutez-le en tant que requête SQL. Cela suppose que vous avez déjà créé une base de données (mabasededonnes). Vous devez disposer de votre login de base de données (monloginbd) et votre mot de passe (monmotdepassebd) afin de mettre ces informations dans votre fichier de configuration. Il y a une interface pour créer sa base données.


Les fichiers qui contiennent les informations de configuration dans le répertoire mrbs / web sont systemdefaults.inc.php et areadefaults.inc.php. Pour une installation standard, NE MODIFIEZ PAS ces fichiers. Vous allez les lire avec attention, car ils contiennent la majorité des informations de configuration. Vous allez copier des lignes de ces fichiers que vous allez insérer dans votre propre fichier de configuration. Vous mettrez les variables selon votre souhait d'action. Votre fichier de configuration dans le répertoire mrbs / web est config.inc.php . C'est votre principal outil de travail.

Configuration

Le fichier config.inc.php va être le fichier principal sur lequel vous allez agir. Je peux vous l'expédier de manière plus lisible écrivez à hr.retif@ gmail.com.

Vous serez peut être amené à modifier le fichier /mrbs/web/Themes/default/styling.inc pour des choix de couleur. Vous trouverez le fichier modifié plus bas dans la page et c'est commenté avec la chaine de caractères (hr) qui sont les initiales du modificateur.

Le fichier /mrbs/web/lang/lang.fr a des modifications notées plus loin dans cette page.

Dans le fichier /mrbs/web/systemdefaults.inc.php, il semblerait que ces lignes perturbent les modifications dans config.inc.php. Elles sont mises en commentaires dans le fichier /mrbs/web/systemdefaults.inc.php.

// hr se permet de commenterla ligne suivante au vu de la lecture du paragraphe suivant

//unset($booking_types); // Include this line when copying to config.inc.php

// hr se permet de commenter les 2 lignes pour enlever de la repetition au bas de la vue

//$booking_types[] = "E";

//$booking_types[] = "I";


Voici le fichier /mrbs/web/config.inc.php La présentation de ce fichier n'est pas correcte. Il manque les bonnes macros de mise en forme afin de garder le code à l'identique du fichier original (retours à la ligne) dans ce traitement de texte.

<?php // -*-mode: PHP; coding:utf-8;-*- namespace MRBS; //hr dernière modification 12 05 2023 essai sur le logo

/**************************************************************************

*   MRBS Configuration File
*   Configure this file for your site.
*   You shouldn't have to modify anything outside this file.
*
*   This file has already been populated with the minimum set of configuration
*   variables that you will need to change to get your system up and running.
*   If you want to change any of the other settings in systemdefaults.inc.php
*   or areadefaults.inc.php, then copy the relevant lines into this file
*   and edit them here.   This file will override the default settings and
*   when you upgrade to a new version of MRBS the config file is preserved.
*
*   NOTE: if you include or require other files from this file, for example
*   to store your database details in a separate location, then you should
*   use an absolute and not a relative pathname.
**************************************************************************/

/**********

* Timezone
**********/

// The timezone your meeting rooms run in. It is especially important // to set this if you're using PHP 5 on Linux. In this configuration // if you don't, meetings in a different DST than you are currently // in are offset by the DST offset incorrectly. // // Note that timezones can be set on a per-area basis, so strictly speaking this // setting should be in areadefaults.inc.php, but as it is so important to set // the right timezone it is included here. // // When upgrading an existing installation, this should be set to the // timezone the web server runs in. See the INSTALL document for more information. // // A list of valid timezones can be found at http://php.net/manual/timezones.php // The following line must be uncommented by removing the '//' at the beginning //$timezone = "Europe/London"; // hr installe sa time zone $timezone = "Europe/Paris";


/*******************

* Database settings
******************/

// Which database system: "pgsql"=PostgreSQL, "mysql"=MySQL $dbsys = "mysql"; // Hostname of database server. For pgsql, can use "" instead of localhost // to use Unix Domain Sockets instead of TCP/IP. For mysql "localhost" // tells the system to use Unix Domain Sockets, and $db_port will be ignored; // if you want to force TCP connection you can use "127.0.0.1". // hr installe sa data base //$db_host = "localhost"; // hr installe sa data base mysql-alternc3 $db_host = "mysql-alternc3"; // If you need to use a non standard port for the database connection you // can uncomment the following line and specify the port number // $db_port = 1234; // Database name: // hr met le nom de sa database $db_database = "lenomdemabasededonnées"; // Schema name. This only applies to PostgreSQL and is only necessary if you have more // than one schema in your database and also you are using the same MRBS table names in // multiple schemas. //$db_schema = "public"; // hr met son Database login user name: $db_login = "monlogindebasededonnées"; // hr met Database login password: $db_password = 'monpasswddemabasededonnées'; // Prefix for table names. This will allow multiple installations where only // one database is available $db_tbl_prefix = "mrbs_"; // Set $db_persist to TRUE to use PHP persistent (pooled) database connections. Note // that persistent connections are not recommended unless your system suffers significant // performance problems without them. They can cause problems with transactions and // locks (see http://php.net/manual/en/features.persistent-connections.php) and although // MRBS tries to avoid those problems, it is generally better not to use persistent // connections if you can. $db_persist = false;


/* Add lines from systemdefaults.inc.php and areadefaults.inc.php below here

  to change the default configuration. Do _NOT_ modify systemdefaults.inc.php
  or areadefaults.inc.php.  */

// ATTENTION , il faut créer un nouveau lieu après les modifs pour voir ces modifications ci-après prises en compte.

// Dans areadefaults.inc.php // Création de nouvelles réservations, mais j'arrive à réserver assez loin de la date donc je ne touche pas à ces variables //$min_create_ahead_secs = 0 ; // (secondes) impossible de réserver dans le passé //$max_create_ahead_secs = 60 * 60 * 24 * 7 ; // (secondes) pas plus d'une semaine à l'avance


//hr modifie la durée par défaut d'une reservation pour mettre 30 minutes la durée par défaut d'un événement. // Default duration - default length (in seconds) of a booking. // Defaults to (60 * 60) seconds, i.e. an hour // hr mets 30 minutes $default_duration = (30* 60); // DEFAULT VALUE FOR NEW AREAS

//hr modifie le début et la fin de la journée , ceci est dans areadefaults. // The beginning of the first slot of the day (DEFAULT VALUES FOR NEW AREAS) $morningstarts = 9; // must be integer in range 0-23 $morningstarts_minutes = 0; // must be integer in range 0-59

// The beginning of the last slot of the day (DEFAULT VALUES FOR NEW AREAS) $eveningends = 22; // must be integer in range 0-23 $eveningends_minutes = 0; // must be integer in range 0-59

// Le statut de confirmation par défaut pour les nouvelles réservations. (TRUE : confirmé, FALSE : provisoire) // Utilisé uniquement si $confirmation_enabled est TRUE. Si $confirmation_enabled vaut // FALSE, alors toutes les nouvelles réservations sont automatiquement confirmées. $confirmed_default = FALSE ;


// Dans systemdefaults.inc.php, je modifie des parametres et donc je les inscris ci dessous


// Brève description par défaut pour les nouvelles réservations $default_name = "Votre nom" ; // Définissez ceci sur true si vous souhaitez que le nom de la réservation (brève description) soit // par défaut le nom d'affichage de l'utilisateur actuel. S'il est défini, ce paramètre remplace // $default_name. //$default_name_display_name = false ;


// Les options disponibles sont :

// "default" Thème MRBS par défaut , j'ai modifié les couleurs dans le fichier themes default styling.inc mais in ne se passe rien // "classic126" Même schéma de couleurs que MRBS 1.2.6 $theme = "default"; //Il faut au moins fermer son navigateur afin que les couleurs html soient prises en compte //$theme = "classic126" ;

// Reference le cinema $mrbs_company = "-Les Allumés-" ; // Décommentez cette ligne suivante pour utiliser un logo au lieu du texte de votre organisation dans l'en-tête $mrbs_company_logo = "logocinema.gif"; // nom de votre fichier de logo. Cet exemple suppose qu'il se trouve dans le répertoire //MRBS mais cela ne fonctionne pas, il reprend le nom de la compagnie .??? // En effet, c'est dans le répertoire Web qu'il faut mettre son fichier .gif, mais choisissez une petite taille de logo.

$mrbs_admin = "Hervé administrateur" ; $mrbs_admin_email = "admin.mrbs@cinema-plougonvelin.fr" ;

$mrbs_company_url = "https://mission.cinema-plougonvelin.fr/";

// Définissez ceci sur true pour ajouter un style aux jours de week-end $style_weekends = true;



/******************

* Paramètres d'affichage
******************/

// [Ce sont toutes des variables qui contrôlent l'apparence des pages et pourraient avec le temps // devenir des paramètres par utilisateur] // Début de semaine : 0 pour dimanche, 1 pour lundi, etc. $weekstarts = 1 ;

// Pour afficher les libellés des lignes (heures, pièces ou jours) sur le côté droit ainsi que // sur le côté gauche dans les vues jour et semaine, définissez sur true ; // (s'appelait $times_right_side dans les versions antérieures de MRBS) // Je ne vois pas les effets, je ne mets pas //$row_labels_both_sides = true;

// Pour afficher les en-têtes de colonne (heures, pièces ou jours) en bas du tableau ainsi // qu'en haut dans les vues jour et semaine, définissez la valeur true ; $column_labels_both_ends = true;

// Définir la vue de départ par défaut (mois, semaine ou jour) // La valeur par défaut est le jour $default_view = "week" ;

// Définir la salle par défaut pour commencer (utilisé par index.php) // Les numéros de salle peuvent être déterminés en consultant l'URL de modification ou de suppression d'une salle // sur la page d'administration. // La valeur par défaut est 0 Peut s'avérer interessant mais ne semble pas fonctionner $default_room = 1 ;

// Définit le comportement de découpage pour les cellules dans les vues jour et semaine. // Définir sur true si vous souhaitez que les cellules des vues jour et semaine soient tronquées. Ceci // donne un tableau où toutes les lignes ont la même hauteur, quel que soit le contenu. // Vous pouvez également définir sur false si vous souhaitez que les cellules s'agrandissent pour s'adapter au contenu. // (false non pris en charge dans IE6 et IE7 en raison de leur prise en charge CSS incomplète) // Cela ne semble fonctionner que dans la vision mensuelle, pourtant ce serait bien dans la vue semaine $clipped = false;

// Définit le comportement de découpage des cellules dans la vue mensuelle. // Définir sur true si vous voulez que toutes les entrées aient la même hauteur. La // courte description peut être tronquée dans ce cas. Si défini sur false, // chaque entrée de réservation sera suffisamment grande pour afficher toutes les informations. // $clipped_month = false;

// Sélection de la langue du fichier FAQ. S'il n'est pas défini, utilisez le fichier anglais par défaut. // Si votre fichier faq de langue est disponible, définissez $faqfilelang pour qu'il corresponde // à la fin du nom du fichier, à l'exclusion du trait de soulignement (par exemple pour site_faq_fr.html // utilisez "fr"). Pour la compatibilité avec les anciennes versions de MRBS, les paramètres avec // le trait de soulignement, par exemple "_fr" sont pris en charge, mais obsolètes. $faqfilelang = "fr" ;


// Sélection de la langue lors de l'exécution à partir de la ligne de commande $cli_language = "fr" ;

// Définir sur true pour obtenir des informations de débogage sur les langues et les paramètres régionaux écrits dans le // journal des erreurs. $language_debug = true ;


// Si vous préférez les dates "10 juillet" au lieu de " juillet 10 " ($dateformat = true dans // MRBS 1.4.5 et versions antérieures), utilisez // $strftime_format['daymonth'] = "%d %b" ; // Ne fonctionne pas je vois toujours  : mai 11

$strftime_format['daymonth'] = "%d %b";

// Si la fenêtre est trop étroite les mini-calendriers ne sont normalement pas affichés. Cependant, en // définissant la variable suivante sur true, ils seront affichés au-dessus du calendrier principal, // à condition que la fenêtre soit suffisamment haute. // les mini calendriers s'installent pas au dessus si vous diminuez la taille de votre fenetre de navigateur et si vous l'allongez en hauteur $display_mincals_above =true ;


/*************

* Types d'entrée
*************/

// Ce tableau répertorie les codes de type d'entrée configurés. Les valeurs correspondent // à un seul caractère dans la base de données MRBS, et peuvent donc être n'importe quel // caractère PHP autorisé.


// Les définitions de type appropriées doivent être faites dans config.inc.php. // // Chaque type a une couleur qui est définie dans le tableau $color_types du fichier styling.inc // du répertoire Themes puis default

// Si vous ne voulez pas utiliser de types, décommentez la ligne suivante. (La réservation // aura toujours un type associé dans la base de données, qui sera le type par défaut.) // hr En mettant unset je devrais détruire le tableau que je recrée ensuite, j'ai essayé mais cela ne fonctionne pas, j'utlise mal unset ??? //unset($booking_types);

//dans system.inc.php , j'ai fait les mises en commentaires de ces 3 lignes // unset($booking_types); // Si je n'enlevais pas ces 2 lignes, j'avais de la replication en bas de l'ecran sur les types //$vocab["type.I"] = "Occasionnel"; //$vocab["type.E"] = "Régulier";


// Include this line when copying to config.inc.php, je comprends mal s'il faut valider ou non ce booking types avec unset ou non $booking_types[] = "A"; $booking_types[] = "B"; $booking_types[] = "C"; $booking_types[] = "D"; $booking_types[] = "E"; $booking_types[] = "F"; $booking_types[] = "G"; $booking_types[] = "H"; $booking_types[] = "I"; $booking_types[] = "J";

// // Les descriptions par défaut des types d'entrée sont conservées dans les fichiers de langage // sous la forme "type.X" où 'X' est le type d'entrée. Si vous souhaitez modifier la description // vous pouvez remplacer les descriptions par défaut en définissant la variable $vocab_override config //. Par exemple, si vous ajoutez un nouveau type de réservation 'C', le minimum que vous devez // faire est d'ajouter une ligne à config.inc.php comme : // // $vocab_override["en"]["type.C" ] = "Nouveau type de réservation" ;

//$vocab["type.I"] = "Info"; //$vocab["type.E"] = "FilmAbsent";


$vocab_override["fr"]["type.A" ] = "CaissierAbsent" ; $vocab_override["fr"]["type.B" ] = "CaissierPrésent" ; $vocab_override["fr"]["type.C" ] = "ProjectionnisteAbsent" ; $vocab_override["fr"]["type.D" ] = "ProjectionnistePrésent" ; $vocab_override["fr"]["type.E" ] = "FilmAbsent" ; $vocab_override["fr"]["type.F" ] = "FilmPrésent" ; $vocab_override["fr"]["type.G" ] = "PlayList" ; $vocab_override["fr"]["type.H" ] = "Astreinte" ; $vocab_override["fr"]["type.I" ] = "Info" ; $vocab_override["fr"]["type.J" ] = "Bénévoles" ;





// Les définitions de type appropriées doivent être faites dans config.inc.php. // // Chaque type a une couleur qui est définie dans le tableau $color_types du fichier styling.inc // du répertoire Themes puis default

// fin du fichier



Le fichier /mrbs/web/Themes/default/styling.inc est modifié. // These are the colours used for distinguishing between the different types of bookings in the main // displays in the day, week and month views

/* $color_types = array(

   'A' => "#FFFF99",
   'B' => "#FF00FF",
   'C' => "#ffffcd",
   'D' => "#cde6e6",
   'E' => "#6dd9c4",
   'F' => "#82adad",
   'G' => "#ccffcc",
   'H' => "#d9d982",
   'I' => "#99cc66",
   'J' => "#e6ffe6");
  • /

$color_types = array(

   'A' => "#FF0000",
   'B' => "#FFFF00",
   'C' => "#FF0000",
   'D' => "#D2691E",
   'E' => "#FF0000",
   'F' => "#00FFFF",
   'G' => "#66CDAA",
   'H' => "#d9d982",
   'I' => "#99cc66",
   'J' => "#e6ffe6");

Le fichier /mrbs/web/lang/lang.fr est modifié

// hr modifie cette ligne

$vocab["mrbs"] = "Cliquez ici pour le planning";

//hr intervient ici

$vocab["rooms"] = "Activités";