250 likes | 370 Views
Website Generator for SoftLab. By Yohann SABBAH & Mikael V.H Cohen -Under the supervision of Viktor Kulikov -. Final Presentation. Goal of the project. 10/6/2014. Goal of the project. Abstract. Designing a website generator for Technion Labs Intuitive interface for Website creation
E N D
Website Generator for SoftLab By Yohann SABBAH & Mikael V.H Cohen -Under the supervision of Viktor Kulikov- Final Presentation
Goal of the project 10/6/2014
Goal of the project Abstract Designing a website generator for Technion Labs Intuitive interface for Website creation Website administration
Goal of the project Some facts A classy Technion lab website is always composed by the following types of elements: HTML basic page Lists of people – As list of supervisors, list of professors… Lists of projects proposal Lists of finished projects Lists of links Certain pages contain several different elements
Goal of the project Technion Lab Website principle First, create Sub-pages: Choosing the type of each Sub-page Chose a name for each sub-page Can create many sub-pages of the same type Then, create Pages – A page is composed of one or many sub-pages Choosing a name for each page Filling a page with one or many sub-pages Now, we create our Website- A website is composed of one or many pages Choosing pages and their order Finally, we fill the sub-pages with elements An element can be in many sub-pages
Used Technologies 10/6/2014
Used Technologies PHP - 1 PHP recursive acronym for "PHP:Hypertext Preprocessor“ Widely-used Open Source scripting language Especially suited for Web development Used for producing dynamic web pages Can be embedded into HTML.
Used Technologies PHP - 2 PHP includes a large number of free and open source libraries Real Object Oriented Programming Language Commonly install on Apache Server allow to interact with Database like Mysql PHP is mainly focused on server-side scripting
Used Technologies PHP - Communication client-server PHP generally runs on a web server, taking PHP code as its input and creating Web pages as output
Used Technologies Smarty - 1 • Smarty is a web template engine system written in PHP. • Allow separation between the Logic and the Presentation • Why templates ? • Ease of design change • Ease of interface localization • Possibility to work separately on design and code by different people at one and the same time
Used Technologies Smarty - 2 - Why Smarty ? Very fast compare to other template engines Creates PHP scripts from templates instead of parsing template Smarty re-compiles templates only when make changes to them. Caching : caches the output of the template contents. Saves from having to connect to the database every time your Web page is accessed.
Used Technologies MySQL MySQL is a multithreaded, multi-user SQL database management system. Popular for web applications. Closely tied to PHP. Allow all sort of queries. PhpMyAdmin: friendly user interface to manage database develop on PHP.
Used Technologies CCS • Cascading Style Sheets (CSS): style sheet language used to describe the presentation of a html document. • Define colors, fonts, layout, and other aspects of document • Why CSS? • more flexibility • control the specification of presentational characteristics • reduce complexity and repetition in the structural content.
Used Technologies Javascript • JavaScript is a scripting language most often used for client-side. • JS functions are embedded in HTML pages and interact with the Document Object Model (DOM) of the page • Respond to user actions quickly, making an application feel more responsive • Detect user actions which HTML alone cannot
Used Technologies Security Administration is protected by username and password Encryption using a MD5 provider that itself implements an algorithm based on a cryptographic hash function. Used of Session and cookies
Database Design 10/6/2014
DataBase Design Sub-page “People”
DataBase Design List of Pages
OOP Design 10/6/2014
OOP Design SmartyClass • SmartyClass are responsible for: • read template • assign variables to the templates files • show template files (.tpl)
OOP Design Smarty Templates - 1 • Page divided into many templates • Our template design: main_page.tpl Page_header.tpl MIDDLE PAGE CONTENT Main_menu.tpl Page_footer.tpl
OOP Design Smarty Templates - 2 • Entity Page that represents a standard page • Entity Sub-Page represents by his template file • Each page is divided in a list of sub-pages 10/6/2014
OOP Design Other Classes • DBConnection: responsible for: • Connection / Disconnection to the Database • All the query to the DB • ConfigClass: responsible for: • Build a standard page: get all templates and assign them to the main page template • Contain helpful functions that we use in many PHP files.
The End… Thanks….. Thanks to Victor for his help Follow the guide for the demo 10/6/2014