Sydonie home page

Sydonie
Web Development Framework

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

Sydonie core

Download the kernel:

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.

Store

Download the base Store

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

Download Helpers:

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

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) touch .htaccess

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

Database

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:

http://myApp/SydonieConfigure

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 sdn_account table)

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).

Built with Sydonie

Majax

Majax logoStarted within Sydonie, Majax (or Magic Ajax) is a spin-off project that aims to provide a Javascript library for webdesigners to use Ajax interactions without the hassle of writing the Javascript code. You can check out the demos or the documentation.