Sydonie is made of four parts:
- Sydonie core, contains the framework's kernel
- Store contains mandatory basic apps (Greyc store) and third party apps (Cf store and others to come)
- Helpers is a set of tools and frameworks used by Sydonie's kernel or used in applications
- Plus the application you're trying to build
Best practice is to create a directory for each of the above items. It separates each code and also allows to eventually share the core and the helpers between applications.
Download and install
Download the kernel:
- Sydonie's kernel : Zip archive .zip
Extracting the archive will create a directory named SydonieV2. Rename that directory to whatever you want for the core. The chosen name will be specified in your application.
Download the base Store
- Store : Zip archive .zip
Extracting the archive will create a directory named StoreV2. Rename that directory to whatever you want for the core. The chosen name will be specified in your application.
- Helpers : Zip archive .zip
Extracting the archive will create a directory named HelpersV2. Rename that directory to whatever you want for the core. The chosen name will be specified in your application.
Application (your site)
Download the base site and installer
- Installer Zip archive .zip
Extracting the archive will create a directory named SydonieInstallV2. Rename that directory to whatever you want for the core. The chosen name will be specified in your application. To install your site, follow the instructions thereafter (My First Sydonie Site)
My First Sydonie Site
Getting things ready
Application and directory structure
In your application directory, create an empty .htaccess file (the command lines below are functional in a Linux or MacOs terminal)
Make the file writable by the server if it isn't:
chmod 666 .htaccess
Make the following directories writeable by the server: config/server et config/site.
chmod 777 config/server
chmod 777 config/site
Also make sure the config/site/config_site.php file is writeable too.
chmod 666 config/site/config_site.php
Create a directory for all your site data (images, texts, videos,... and all your site's resources. In Sydonie's lingo we call it warehouse. Best practice is to name that directory in the form warehouse-myApp. make sure it is writeable for the server.
mkdir warehouse-myApp chmod 777 warehouse-myApp
As of today we have used Sydonie with MySQL databases. It should work with any database supported by PHP-PDO.
Create your MySQL database (remember your login, password, database name that you will need for the configuration).
Configure your application
Configuration files are located in the application's config directory. You can manually edit them from the start or use the installer and eventually edit them later.
To launch the installer, go to the URL:
The installer tries to guess the various parameters it needs by checking common locations of its components. If it didn't find anything, fields are left empty or with a wild guess. Double check each field and eventually modify them. Remember you can always change things later in the files.
Below are the informations required by each configuration step.
Note : all URL or directory paths MUST end with a trailing /
Installer, First step
- SERVER_URL: server's URL (exp : http://myExample.com/ ) with a trailing /
- BASE_STRING: the base URL after the server's URL that is used for your homepage URL (ex : http://myExample.com/~myApp/). Leave empty if SERVER_URL is your home page URL. If not empty, make sure it ends with a trailing /.
- SITE_FILE: full file system path to the application directory (the one used to extract the application directory). Make sure it ends with a trailing /
- SYDONIE_FILE: full file system path to Sydonie core (best practice: place that directory outside of your application directory so that it may be share by several applications). Make sure it ends with a trailing /
- LOCAL_WAREHOUSE_FILE: full file system path to the application Warehouse. Make sure it ends with a trailing /
- HELPERS_URL: URL complet permettant d'accéder au répertoire des Helpers. Attention, il faut que ce répertoire soit accessible via le serveur web. Terminer par /
- HELPERS_FILE : indiquer le chemin complet depuis la racine du système de fichiers pour accéder au répertoire contenant les Helpers. Terminer par /
- URL_PROXY : indicate the Proxy configuration in case there is one. Leave empty otherwise
Installer, step Two: database configuration
- BD engine: mysql is the default value, use your database engine keyword as defined by PHP-PDO
- DB_HOST: usually localhost. Use your database hostname if different.
- DB_USER: database login
- DB_PASSWD: database password
- DB_NAME: database name
- DB_PREFIX: string used to prefix all your database tables (e.g. 'sdn' will generate a
Installer, step Three : email addresses
- SITE_CONTACT_MAIL, SITE_ADMIN_MAIL, DESIGNER_MAIL, WEBMASTER_MAIL: email addresses for site owner, admins, designer and webmaster
- SUBSCRIBE_MAIL, SUBSCRIBE_NAME: email address used to send emails from the site and the displayed sender's name
- smtp: smtp server if used, leave empty if not used
- auth: authentication method for the SMTP server
- username: username on the SMPTP server/li>
- password: password on the SMTP server for the given username
- ssl: use secure mode usually (ssl)
- port: usually use port 465
Installer, step Four: application configuration
- SITE_VENDORNAME : PHP Namespace used by your application
- SITE_NAME: name of your application as it will appear in <title> tags (e.g. for the home page). Use UTF-8 encoding to include non latin-1 characters
- SITE_MACHINE_NAME: name used by programs to name of application (for example that name is used to create cookie names). Make sure it is a concise name, no spaces, no special characters. Best practice: capitalze that name.
Installer, step Five
- Here you will create the first user account of your application. It is an administrator account. The username MUST be a valid email address. Note the username and password. You can change the password and add more admins later in the administration panel.
Once you confirm the last step, the installer will write the files on disk and create the database.
Once finished, delete the SydonieConfigure directory and set the permissions back to the normal state (not writable except for the warehouse).
chmod 755 config/server
chmod 644 config/server/*
chmod 755 config/site
chmod 644 config/site/config-site.php
You can eventually modify some parameters by manually editing the configuration files:
- config/server: contains all the parameters for the install of your application on a given server. This directory MUST NOT be versioned since it contains passwords and specifies paths specific to your install.
- config_base.php: specifies URLs, directory paths, etc.
- config-db.php: specifies database configuration
- config_mail.php: specifies email sendin configuration (SMTP, etc)
- config/site specifies information for the application that are not server specific and therefore may be versioned.
- config_site.php: contains parameters about the theme used, etc.
- config_permission.php: specifies the permission model for your site (see developers wiki for more information).
- config_cssCall.php: specifies which CSS files must be included. Change them if you want to use a CSS framework for example.
Configure your application theme
A default theme is provided with the installer base kit. You naturally will want to create your own style and theme.
To do so, you may start from scratch or copy the default theme and change things little by little.
However, you should keep the directory structure which is composed of: css, images (backgrounds, logos, etc), fonts, fragments, layout must be kept. To use a specific (such as Bootstrap), it may be in a separate directory.
Create your application with Sydonie
Congratulations!! You're all set to get started!!
Full API documentation is under construction, stay tuned!
Developers wiki is available (in French only for now,, sorry): (http://wiki.sydonie.net).