Allow the users to be authenticated on multiple ways :

  • LDAP
  • Session
  • Sympa with SOAP support

It is easy to add a new authentication method.

Command Line Interface

All the controllers (and models in expert mode) can be drived from command line with a CLI class. Configuration

The configuration file of your applications can be manage by DomFramework, with your structure of data to save.

Database Abstratction Layer

The database abstraction layer permits to create access to databases from your applications, without thinking about errors, specificities.

If a database engine is not provided, it is easy to add it.

Based on PDO, it allow to connect to the major databases engines like MySQL, SQLite, Postgresql...

There is also a NoSQL database integrated in JSON.

Logging and debugging

The logs are important elements of a software : to see the good and the bad news, to solve some problems with users. The looger class permit to save logs in file or in syslog.


The markdown format allow to write text readable from humans, and easily transform to HTML by the computer

Multiple output format

The datas from your application can be formated on multiple ways

CSV (Comma Separated Values)
HTML with layout and view support
JSON for AJAX interaction
Text with table presentation


The renderer permit to create HTML pages with a standard layout and some differents specific views

Allow to support multiple languages defined by the browser of the client


The REST support drive your application with GET, POST, DELETE, PUT, but also display the result in the format wanted by the user (if it is allowed)


The routing allow to interact with the URL and run differents controllers Verify the datas

When a user interact with the computer, he is doing errors. The verify class check the conformity of user's data before accept them in databases


The forms are managed easily. Can also display the errors.

Cache system

The cache system is available to speed up the pages offer to the final user.

Multi-language support

Allow to manage multiple languages on the interface. The user can choose its prefered language by its browser, a cookie or by preferences.