Software is like sex... It's better when it's free.

Projects - SillySmart Framework

SillySmartSillySmart is a PHP5 MVC framework developed by Florian Collot and myself, artistic direction of the project conducted by Charles Maunoury (logo, website, Charter, ...) and with the kind participation of Guillaume Lefèvre for the installer and back office.

After testing Zend, Symfony or Cake without finding the modularity and simplicity of development we wanted, we started realizing our own framework.

It adopts several features more or less similar to those seniors from an architecture and concepts, while providing a different layer view.

Indeed, strong experience in web performed by teams with very different skills (architect software, server-side programming, client side with ajax, web designer, ...) we decided to opt for a solution based on XML / XSL at this layer in order to provide greater simplicity and flexibility of our applications.

The XSL offers very solid basis of a procedural point and is very accessible for someone who never programmed in object oriented languages. We never found readability using the mixture PHP/HTML in the generation of the final page, even with the aid of phtml templates or generation 'object', code was still difficult maintainable and evolutionary.

In addition, the rise of the of mediums communications in web (rss, atom, web service, ajax, ...), we sincerely believe that an application object generating XML can offer just about everything, without too many changes .

Thus, the framework is based on PHP5 built on a MVC model and proposes the following main features :
  • Auto-Setup
  • Administration of the application by HIM
  • Flexible setup exclusively in XML
  • Distinct separation between user layer and framework layer (prefixed classes)
  • Natively multilanguage (interface + database content)
  • Dispatching and Url mapping
  • Clean UrlRewrite and highly flexible (mulilangue rewrite to the same action)
  • Object-Relational Mapping, DAO and persistence
  • Caching system
  • Recursive loading of third resource
  • Classes autoloading
  • MySQL 5 support
  • Multi-database
  • MVC model with inheritance and exception handling (output with stacktrace in development - logs in production)
  • Highly modular cutting pages using static controllers and XSL templates
  • Javascript Framework natively integrated implementing Mootools
  • Autogestion of Apache errors and natives suggestions pages searched
  • Generation of models in constant synchronization with the database, and generation of actions and back-office customers with a few clicks
  • Extensible application system with plugins
  • Many native plugins :
    • Date with multilingual pattern
    • Rss 2
    • String with processing and validation focused on the strings
    • Tracing with Logging and StackTracing
    • Bo allows listing, edit, add and delete of models in few clicks + multilanguage support
    • XmlToolBox, gestion XML, DOM and xPATH
    • Email with remote smtp, attachments, embedded contents, html + plain text, copy, copy hidden and extensible templates xHtml
Note that SillySmart does work only for PHP5, URL rewrite of Apache enabled and with libxsl.

Below the treeview of the application:

SillySmart - Treeview

And the classe diagram (simplified) :

SillySmart - Class Diagram
The project reached version 1.0 with an application robust and stable, self-installer version finished in PHP (Ajax to develop) and a Back-Office during finishing. SillySmart will be offered free license (we have not studied which again) and a website will be set up by the end of 2009 - early 2010. There will a presentation of the project with access to the documentation, download, forum, podcasts videos, demos, tutorials, Trac, road map, svn trunk, and many others.

If you are very impatient (you never know) or you simply want to test the application or better, join us, write me at the contact apge, we will be happy to answer you!

Screenshots

Prev Play Stop Next