GithubHelp home page GithubHelp logo

prjg5 / gmi Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 0.0 5.27 MB

Projet GMI (Glossaire Multilingue Informatisé) pour PRJ5

Home Page: https://boiling-harbor-91880.herokuapp.com/

PHP 16.73% JavaScript 53.92% CSS 21.84% HTML 6.92% Hack 0.11% TypeScript 0.49%
gmi laravel php eloquent translation database api rest progressive-web-app

gmi's Introduction

PRJG5 - GMI

Nécessite

  • Git 2.17.1
  • PHP 7.3.10
  • Composer 1.9.0
  • Laravel 6.0.4
  • PHPUnit 8
  • Librairie benSempo/laravels-enum 1.26

Xampp (A faire avant Installation si vous utilisez Xampp)

  1. Démarrer Xampp (MySql et Apache)

  2. Créer la base de données

Pour cela, vous pouvez ouvrir Xampp et ouvrir phpMyAdmin via le bouton "Admin"

Nommer la base de données "laravel" en utf32_general_ci

Installation

  1. Clone le repo
git clone https://github.com/PRJG5/gmi.git
  1. Installer les dépendances
composer install
  1. Copier les variables d'environnement
cp  .env.example .env

Modifier le fichier .env pour convenir à ses besoins

  1. Générer une clef d'encryption
php artisan key:generate

Nettoyer le cache

php artisan cache:clear
php artisan route:cache
php artisan config:clear
php artisan view:clear
composer dump-autoload

Migrations

Pour mettre à jour votre branche voici les étapes à suivre :

  1. Aller sur le master et le mettre à jour
   git pull
  1. Aller sur votre branch et merge le master avec votre branche
   git merge master
  1. Si vous avez certains conflits,vous pouvez les résoudres via VSC,les classes qui posent problèmes sont marquées en bleu Dés que vous avez fini de régler les conflits :
   git commit -m "[message]"

Enfin,il faut mettre a jour le composer et les migrations de votre base de donnée locale

   php artisan migrate:refresh

Pour mettre à jour le master il faut suivre exactement les mêmes étapes que ci-dessus. N'oubliez surtout pas de push le projet après avoir effectué le merge sur la branche master

Base de donnée

Pour faciliter l'aperçu de la base de donnée, je vous demandes de compléter le fichier .mdj a chaque changement de la base de donnée.Pour trouver plus de détail,veuillez consulter le fichier mdj

Actuellement la base de donnée ressemble à ceci :

Base de données GMI

Liens utiles

  • Trello https://trello.com/b/jy7V3IfE/gmi
  • FAQ https://poesi.esi-bru.be/mod/wiki/view.php?id=1613

Sonar-cube

  1. Clone le projet

  2. Télécharger sonarqube-7.8 et sonnar-scanner-cli

  3. Installer composer

  4. Lancer Xampp (MySql et Apache)

  5. Faire l'étape "Xampp"

  6. Lancer la commande "composer install"

  7. Lancer le serveur Sonar -> StartSonar.bat

  8. Aller sur http://localhost:9000

  9. Se connecter en -> User : admin -> MDP : admin

  10. Créer un nouveau projet nommé GMI

  11. Copier la clé genérée grâce au bouton "Analyse"

  12. La clé ressemble a ceci : "46c6277f7dab9eac3a981fec7ee4681619d70b25"

  13. Remplacer le sonar.projectKey par GMI

  14. Rajouter la variable d'environnement vers sonar-scanner.bat -> Exemple : "C:\Sonar\sonar-scanner\bin"

  15. Ouvrir sonar-project.properties et remplacer la clé de sonar.login par la nouvelle clé

  16. Aller dans C:\xampp\php et ouvrir php.ini (Le fichier de configuration nommé php)

  17. Coller à la fin :

    [XDebug] ; Only Zend OR (!) XDebug zend_extension=C:\xampp\php\ext\php_xdebug.dll ; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number. xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 ; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP xdebug.remote_handler=dbgp xdebug.profiler_enable=1 xdebug.profiler_output_dir="C:\sonarqube\temp" xdebug.var_display_max_depth = 10 xdebug.var_display_max_data = 2048

  18. Se placer dans le dossier du projet

  19. Lancer le client Sonar -> sonar-scanner

  20. Sur le localhost:9000, aller dans GMI -> Administration -> PHP et remplacer Default par PSR-2

  21. Relancer un sonar-scanner

Laravel

License

The Laravel framework is open-source software licensed under the MIT license.

gmi's People

Contributors

43121 avatar 44424 avatar alihanergun avatar brandtmatthieu avatar ciskeh avatar corentinmagerotte avatar dasilvavaleelliott avatar lechjo01 avatar lemeed avatar loicsth avatar oruckaplan avatar quentingosset avatar selimjebira avatar theironman42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gmi's Issues

Conventions de codage utilisées

Juste pour être sur, car on a très peu (voire pas) parlé des conventions de codage.
Je suppose que tout le monde va utiliser :

  • pour les classes, du Upper Camel Case (aussi connu sous le nom de PascalCase) ex. class PascalCase {}
  • pour les variables, du Lower Camel Case ex. $lowerCamelCase

mais pour les requêtes SQL, noms de tables et de colonnes ?

Je propose :

Comme ça on reste cohérent sur tout le projet.
Vous en pensez quoi?

N'oubliez pas de mettre bien des commentaires (en anglais) là où nécessaire (dans le case du nom d'une variable, de la raison de la présence d'une variable, de l'explication du nom rôle de classe, etc...)


Peut-être aussi essayer d'utiliser un système de doc ? PHPDoc ?
Pas trop différent de la Javadoc, looks good to me.

/**
 * @author
 * @method
 * @param
 * @return
 * @throws
 * @todo
 * @var
 * @version
 */

Enum Domain et Subdomain en français?

Je viens de voir que les constantes de l'enum Domain et Subdomain sont en français. On n'est pas censé tout programmer en anglais ?

Ca ne serait pas mieux de les mettre en anglais, puisqu'elles (les valeurs) sont quand même traduites dans les fichiers resources ?

Dossier spécifique pour Bootstrap

cc. @43121

Pour rester organisé, je propose de mettre tous les fichiers pour Boostrap et pour Ajax dans des dossiers propres, et pas juste dans le dossier public/css comme c'est le cas maintenant (ajouté dans a223d59).
Je propose de créer les dossiers public/css/bootstrap et public/js/bootstrap.

Ça permettra de reste mieux organisé.

Aussi, la plupart des fichiers de ce dossier peuvent être retirés, car ils ne seront jamais utilisés :

  • Les fichier .map sont uniquement utilisé pour le debugger, pas par le navigateur
  • Les fichiers de base sont présents en plus des fichiers minifiés.
  • Les fichiers individuels sont présents, alors qu'un bundle (fichier rassemblant tous les autres) est aussi présent.

Classes liées à Card

Il y a eu pas mal de problèmes avec la création de classes liées à la classe "Card".

Aussi, un petit oubli dans le code peut vite casser le build,
➡️ donc voilà une liste des choses à faire si vous devez créer une classe liée à la classe "Card".

Allez là voir, même si vous ne devez pas spécialement créer de classe, dans tous les cas ça ne prend que 2 min à lire et ça peut éviter 1h30 de debuggage et une petite engeulade.


❓ Pour toute question :

  • demandez aux autres qui ont déjà créé leur classe / fait certaines étapes.
  • allez voir ce qu'il y a déjà dans le code (j'ai mis des commentaires là où vous devez rajouter votre code)
  • Je peux aussi répondre pour tout ce qui concerne la classe "Card" et la vue (fragment).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.