Commit 8133079d authored by Anthony Gautreau's avatar Anthony Gautreau
Browse files

Initial commit

parents
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+3 −0
Changes for .gitignore: 3 added lines, 0 removed lines.
Original line number Diff line number Diff line
.idea
api/vendor
frontend/node_modules
 No newline at end of file

README.md

0 → 100644
+97 −0
Changes for README.md: 97 added lines, 0 removed lines.
Original line number Diff line number Diff line
# [WIP] Ce dépôt est pour l'instant à but de test uniquement

# Unicaen Skeleton

Ce dépôt est un monorepo contenant :

- Un bundle **API Platform** pour la gestion des paramètres.
- Un composant **Vue.js** associé pour l'interface utilisateur.

## Structure du projet

```
/api       # Code source du bundle API Platform
/frontend  # Code source du composant Vue.js
```

## Prérequis

- **PHP** >= 8.2
- **Composer**
- **Node.js** >= 16
- **Yarn** ou **npm**

## Installation

### API

1. Composer install
    ```bash
    composer install unicaen-modern/parametre
    ```

### Frontend

1. Ajouter le .npmrc à côté de votre package.json pur référencer le registry de l'Université de Caen :
    ```bash
    echo "@unicaen:registry=https://git.unicaen.fr/api/v4/groups/6549/-/packages/npm/" > .npmrc
    ```

2. Installer le package
    ```bash
    npm install @unicaen/parametre
    ```

3. Importer et déclarer le composant dans votre projet Vue.js, généralement main.js :
    ```javascript
   import { ParametrePlugin } from '@unicaen/parametre'
   
   // Create app etc...
   
   app.use(ParametrePlugin, { axios: axiosInstance})
   ```
   Vous devez passer votre instance axios à l'option `axios` pour que le composant puisse communiquer avec l'API en utilisant votre système d'authentification.


4. La bibliothèque fournit aussi un object router ParametreRouter qui intégre directement le routing vers /parametre. Vous pouvez l'importer et l'utiliser comme suit :
    ```javascript
    import { ParametreRouter } from '@unicaen/parametre'
    
    // Create app etc...
    const router = createRouter({
        history: createWebHistory(),
        routes: [...ParametreRouter]
    })
    app.use(router)
    ```
   
5. Ou gérer vous même l'utilisation du composant ParametrePage pour l'intégrer comme vous le souhaitez dans votre projet.
    ```javascript
    import { ParametrePage } from '@unicaen/parametre'
    
    // Create app etc...
    
    app.component('ParametrePage', ParametrePage)
    ```
    ```javascript
    import { createRouter, createWebHistory } from 'vue-router'
    import { ParametrePage } from '@unicaen/parametre'
   
   const router = createRouter({
      history: createWebHistory(),
      routes: {
           path: '/parametre',
           component: ParametrePage
      }
   })
   // Create app etc...
   app.use(router)
     ```

## Contribution

Les contributions sont les bienvenues. Merci de suivre les bonnes pratiques de développement et de soumettre vos pull requests.

## Licence

Ce projet est sous licence MIT.
 No newline at end of file
+14 −0
Changes for api/.php-cs-fixer.dist.php: 14 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php

$finder = (new PhpCsFixer\Finder())
    ->in(__DIR__. '/src')
    ->exclude('var')
    ->exclude('vendor'); 
;

return (new PhpCsFixer\Config())
    ->setRules([
        '@Symfony' => true,
    ])
    ->setFinder($finder)
;

api/composer.json

0 → 100644
+33 −0
Changes for api/composer.json: 33 added lines, 0 removed lines.
Original line number Diff line number Diff line
{
    "name": "unicaen-modern/skeleton",
    "type": "symfony-bundle",
    "description": "Bundle API Platform pour Unicaen Skeleton",
    "repositories": [
        {
            "type": "composer",
            "url": "https://gest.unicaen.fr/packagist"
        }
    ],
    "license": "MIT",
    "autoload": {
        "psr-4": {
            "Unicaen\\Skeleton\\": "src/"
        }
    },
    "require": {
        "php": "^8.2",
        "doctrine/orm": "^3.3",
        "api-platform/core": "^4.1"
    },
    "require-dev": {
        "friendsofphp/php-cs-fixer": "^3.75",
        "symfony/maker-bundle": "^1.62"
    },
    "extra": {
        "symfony": {
            "bundle": {
                "Unicaen\\Skeleton\\UnicaenSkeletonBundle": "all"
            }
        }
    }
}
+7 −0
Changes for api/config/services.yaml: 7 added lines, 0 removed lines.
Original line number Diff line number Diff line
services:
  _defaults:
    autowire: true
    autoconfigure: true

  Unicaen\Skeleton\:
    resource: '../src/*'
 No newline at end of file
Loading