wushepeng / guildinformations

Informations destinées à une guilde pour le jeu Ryzom
GNU Affero General Public License v3.0
2 stars 1 forks source link

Informations de guilde

Ce projet consiste en une application destinée aux guildes pour le jeu Ryzom.

Les fonctionnalités proposées sont:

Mettre en place le projet

Premièrement, vous aurez besoin de Composer.

curl -sS https://getcomposer.org/installer | php

Téléchargez le présent repository, ouvrez un terminal dans le dossier et installez le projet en exécutant la commande

php composer.phar install

Enfin, il faut mettre en place un nouveau VirtualHost Apache.

sudo vim /etc/apache2/sites-available/fileName
<VirtualHost *:80>
    ServerAdmin mail@domain.com
        DocumentRoot "/path/to/directory/public"
        ServerName domain.com
        ServerAlias www.domain.com

        <Directory "/path/to/directory/public">
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>
sudo a2ensite fileName

L'application est à présent disponible en local.

De plus pour le bon fonctionnement, vous avez besoin d'une base de données mysql active. Vous pouvez installer phpmyadmin pour gérer la base de données par exemple.

Une fois que vous avez installé votre gestionnaire de base de données préféré, créez une nouvelle base de données et exécutez le script suivant pour créer les différentes tables.

DROP TABLE IF EXISTS `gi_GeneralConfig`;
CREATE TABLE `gi_GeneralConfig` (
  `RYAPI_APP_KEY` varchar(41) NOT NULL,
  `RYAPI_APP_URL` text NOT NULL,
  `RYAPI_APP_MAXAGE` int(11) NOT NULL DEFAULT '0',
  UNIQUE KEY `RYAPI_APP_KEY` (`RYAPI_APP_KEY`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `gi_Guilds`;
CREATE TABLE `gi_Guilds` (
  `id` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `apiKey` varchar(41) DEFAULT NULL,
  `mainGuildId` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS `gi_Homins`;
CREATE TABLE `gi_Homins` (
  `id` int(11) NOT NULL,
  `name` varchar(50) NOT NULL,
  `apiKey` varchar(41) DEFAULT NULL,
  `guildId` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Avant d'aller plus loin il vous faut vous connecter sur l'application Ryzom, et ajouter une nouvelle app dans l'AppZone. Entrez un nom, indiquez l'url http://127.0.0.1/ryzom/app, copiez la clé api et enregistrez.

Enfin, revenez sur la base de données et initialisez la configuration générale:

INSERT INTO `gi_GeneralConfig` (
`RYAPI_APP_KEY` ,
`RYAPI_APP_URL` ,
`RYAPI_APP_MAXAGE`
)
VALUES (
'yourAppKey', 'yourAppUrl/ryzom/app', '0'
);

Une fois que vous avez votre base de données, il reste une dernière étape, à savoir, configurer la connexion de l'application à la base de données. Pour cela, il suffit de changer les informations de connexion dans le fichier App/AbstractResource.php:38.

$connectionOptions = array(
    'driver'   => 'pdo_mysql',
    'host'     => '...',
    'dbname'   => '...',
    'user'     => '...',
    'password' => '...'
);

Enjoy.

Je comprends rien à ton code!

Quelques explications s'imposent...

Arborescence du projet

Documentations

L'application utilise SlimPHP pour servir le contenu (routing, middleware).

L'ORM utilisé est Doctrine pour gérer la persistance des données.

Le moteur de template pour générer les vues est Twig.