HackBBS Reloaded Symfony

De HackBBS
Aller à la navigation Aller à la recherche

HackBBS reloaded

Equipe

  • Korigan : CDP, dev
  • TorTukiTu : Architecte, dev
  • Lancien : dev
  • heaven : GDP (Gestionnaire de projet), dev
  • fredo2009 : dev
  • Vous ?

Technologies

  • PHP5
  • Symfony2
  • Doctrine2
  • PostGreSql
  • jQuery
  • HTML5
  • CSS3

Architecture

Mise en place d'une application symfony avec différent bundle afin de gérer chaque fonctionalité du site.

CoreBundle

Gestion des fonctions de base, et de la layout du site. Dans ce bundle seront ajoutés tous les assets (css, js, images)

TerminalBundle

Gestion de l'interface avec le jquery terminal mis en place par Tortukitu.

Code yuml de gestion des commandes du terminal :

    [Controller||+commandAction()]-.-getService-.->[CommandFactory||+createCommand(command)]
    [CommandFactory]--[<<ICommand>>;Command]
    [<<ICommand>>;Command]<--[HelpCommand|+execute()]
    [<<ICommand>>;Command]<--[WhoamiCommand|+execute()]
    [<<ICommand>>;Command]<--[ExampleCommand|+execute();+getOptions();+getOperands()]

Fichier:6dfeb976.png

Les commandes du terminal sont configurer dans un fichier yaml du bundle TerminalBundle. Voici un exemple de command :

commands:
    example:
        name: example
        brief: commande example
        class: HackBBS\TerminalBundle\Models\ExampleCommand
        options:
            - ["r", "required", 1]
            - ["o", "optional", 2]
            - ["p", "option", 0]

les paramètre sont :

  • name : le nom de la commande
  • brief : la description de la commande
  • class : la classe de commande auquel la commande est liée côté serveur
  • options :les options de la commande sous forme de tableau
    • option court : <command> -r
    • option longue : <command> --required
    • type d'option :
      • 0 : pas d'argument
      • 1 : argument obligatoire
      • 2 : argument optionnel

AdminBundle

Gestion du back office du site.