mel-Suggestion est une application web simple qui permet aux utilisateurs de proposer de nouvelles fonctionnalités ou améliorations. Les utilisateurs peuvent également voter pour les suggestions existantes afin de les prioriser.
- Proposer des Suggestions : Les utilisateurs peuvent soumettre leurs idées de nouvelles fonctionnalités ou améliorations.
- Voter pour des Suggestions : Les utilisateurs peuvent voter pour les suggestions existantes pour indiquer leur intérêt ou leur priorité.
- Consulter les Suggestions : Tous les utilisateurs peuvent consulter la liste des suggestions ainsi que leur nombre de votes.
- Trier les Suggestions : Les suggestions peuvent être triées selon divers critères comme les plus votées, les plus récentes, celles qui ont été retenues, ou celles qui ont été refusées.
- Rechercher des Suggestions : Les utilisateurs peuvent rechercher si des suggestions similaires aux leurs, existent déjà, à l'aide de mots clés.
- Connexion OIDC : Les utilisateurs peuvent s'identifier à l'aide d'opérateur OpenID Connect.
- Choix des connexions OIDC : Possibilité de configurer les Opérateurs OpenID Connect disponibles pour les utilisateurs.
- Anonymisation des suggestions : Il est possible d'activer ou de désactiver l'anonymisation des suggestions pour les utilisateurs.
- Frontend : HTML, CSS, JavaScript (Vue.js)
- Backend : PHP, Laravel
- Base de Données : PostgreSQL
- Authentification : Authentification en Session. En cas d'échec possibilité de se connecter via OpenID Connect (Google, Microsoft)
-
Télécharger la release : Sans proxy :
wget https://github.com/messagerie-melanie2/mel-suggestion/releases/download/[TAG]/suggestion.tar.gz
Avec proxy :
wget -e use_proxy=yes http_proxy=[PROXY] -e https_proxy=[PROXY] https://github.com/messagerie-melanie2/mel-suggestion/releases/download/[TAG]/suggestion.tar.gz
-
Extraire le dossier tar
tar -xzvf suggestion.tar.gz
-
Passage des droits de user à apache (www-data) :
sudo chown -R www-data:www-data (dossier)
-
Générer une clé d'application avec
php artisan key:generate
-
Configurer Apache pour /public :
Alias "/suggestion" "[chemin]/mel-suggestion-back/public"
<Directory "[chemin]/mel-suggestion-release/mel-suggestion-back/public">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
- Modifier le fichier .env dans mel-suggestion-back (clé secrète, connexion à la base, anonymisation des données, instance, etc...) puis valider avec
php artisan config:clear
Si problème d'écriture dans laravel.log :
sudo chmod -R 775 storage
sudo chmod -R 775 bootstrap/cache
- Accéder à la rubrique "Aide", puis cliquer sur "Proposer une amélioration".
-
Parcourez les suggestions existantes sur la page d'accueil.
-
Avant de soumettre votre suggestion, veuillez vérifier préalablement si une proposition similaire n'existe pas déjà en utilisant le champ 'Rechercher ou créer une suggestion'. Pour cela entrer le mot-clé de votre suggestion pour procéder à cette vérification.
- Soumettez votre propre suggestion.
-
Votez pour les suggestions existantes en cliquant sur les boutons de vote.
-
Triez les suggestions selon vos préférences.
Configuration des différents opérateurs OpenID Connect proposés qui renvoie vers les informations présentes dans le .env
Critères Nécessaires :
Critères généraux :
- external_connector
- external_proxy
Critères par Opérateurs :
- client_url
- client_id
- client_secret
- client_fields
Configuration des différentes données opérateurs.
Critères Nécessaires :
- EXTERNAL_PROXY=
- OPERATEUR_URL=
- OPERATEUR_ID=
- OPERATEUR_SECRET=
- OPERATEUR_FIELDS=
- APPLICATION_URL=
Note
A la place de OPERATEUR renseigner le nom de l'opérateur OpenID Connect (exemple : GOOGLE_URL=, GOOGLE_ID=, ...)
Permet de configurer les fonctions qui renvoient vers la vue souhaitée et qui permettent de renvoyer l'utilisateur sur l'opérateur OpenID Connect qu'il a sélectionné pour s'authentifier.
Correspond à la vue utilisateur qui lui permet de sélectionner l'opérateur OpenID Connect de son choix.
Configuration de la route qui renvoie vers la vue de sélection des différents opérateurs, aux utilisateurs.
Route::get('/', [LoginController::class, 'index'])->name('connection')
Dans Identifiants on retrouve les informations qui permettent de configurer le .env :
- ID client
- Secret client
mais également l'URI globale de l'application mel-suggestion et les URI de redirection autorisée.
GOOGLE_URL=https://accounts.google.com/
https://entra.microsoft.com/?culture=fr-fr&country=fr#home
Dans Applications > Inscription des applications.
Puis dans Applications détenues > Mel Suggestion
on retrouve les informations à renseigner dans le fichier .env :
- MICROSOFT_ID
- ainsi que le Tenant ID (ID de l'annuaire) qui doit être ajouté à l'URL du champ MICROSOFT_ID (https://login.microsoftonline.com/tenant_id/)
Warning
Pour le champ MICROSOFT_SECRET=
il faut renseigner la valeur et non le ID de secret disponible. Cette valeur est lisible unique lorsqu'on créé un ID secret. Si l'on oublie de le configurer lors de la création du ID secret, il est nécessaire de créer un nouvel ID secret, et donc de modifier en conséquence le fichier .env
L'activation ou la désactivation de l'anonymisation s'effectue depuis le fichier .env
:
✔️ Pour anonymiser les suggestions, modifier la variable d'environnement SUGGESTION_ANONYMIZE
comme ci-dessous :
Visuel dans l'application :
❌ Pour désactiver l'anonymisation des suggestions, modifier la variable d'environnement SUGGESTION_ANONYMIZE
comme ci-dessous :
Visuel dans l'application :
- Mise en place de l'option de connexion OpenID Connect via Agent Connect.
A envisager si besoin Vous pouvez essayer une démo en direct de l'application ici.
A compléter avec les bonnes informations Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.