Web Social Pour Monnaie Libre

Total Page:16

File Type:pdf, Size:1020Kb

Web Social Pour Monnaie Libre Web social pour monnaie libre Fabien Brisset - [email protected] Florian Galinier - fl[email protected] Thin-Hinen Hedli - [email protected] Rime Lamrani - [email protected] Oualid Manai - [email protected] Quentin Philbert - [email protected] Adrien Plazas - [email protected] Clément Simon - [email protected] Résumé Ce rapport est le compte rendu du projet Web social pour monnaie libre exécuté par les auteurs et proposé par Jacques Ferber pour l’unité d’enseignement GLIN601 Projet du sixième semestre du parcours Licence Informatique de la Faculté de Sciences de Montpellier en 2013-2014. Remerciements Nous remercions tout particulièrement Jacques Ferber pour nous avoir brillamment encadré et soutenu tout le long de la réalisation de ce projet. 1 Table des matières 1 Introduction 6 1.1 Le sujet . .6 1.1.1 Objectif de ce projet . .6 1.1.2 Ce qu’est une monnaie libre . .6 1.1.3 Les SELs (réseaux sociaux autour d’une monnaie libre) . .6 1.2 Cahier des charges . .6 1.2.1 Fonctionnalités attendues . .6 1.2.2 Contraintes . .7 2 Organisation du projet 8 2.1 Organisation du travail . .8 2.1.1 Réunions de travail . .8 2.1.2 Répartition des tâches . .8 2.1.3 Planification du développement . .8 2.1.4 Élection d’un chef de projet . .8 2.1.5 Gestion du groupe d’étudiants . .8 2.2 Choix des outils de développement . .9 2.2.1 Analyse des outils disponibles . .9 2.2.2 Choix du langage . 11 2.2.3 Choix du framework . 12 2.2.4 Choix du serveur . 12 2.2.5 Choix du gestionnaire de projet et du gestionnaire de versions . 13 2.2.6 Choix des outils de documentation . 14 3 Analyse 15 3.1 Analyse des besoins . 15 3.2 Analyse de l’existant . 15 3.2.1 Analyse préalable . 16 3.3 Diagrammes de cas d’utilisation . 17 3.3.1 Cas d’utilisation : Membre . 17 3.3.2 Cas d’utilisation : Modérateur . 17 3.4 Diagrammes de classes . 18 3.4.1 Diagramme de classe prévisionnel . 18 3.4.2 Diagramme de classe final . 19 4 Réalisation du projet 21 4.1 Les bundles . 21 4.1.1 Le bundle Service . 21 4.1.2 Le bundle Transaction . 22 4.1.3 Le bundle User . 22 4.1.4 Le bundle Group . 22 4.1.5 Le bundle Forum . 23 4.1.6 Le bundle Home . 23 4.1.7 Le bundle Administration . 23 2 4.2 Les services Symfony . 24 4.3 L’implémentation du modèle . 24 4.3.1 Les classes d’entités . 24 4.3.2 Les « Repositories » . 24 4.4 Le fonctionnement du contrôleur . 25 4.5 L’organisation des vues . 25 4.5.1 Le layout . 26 4.5.2 Les vues spécifiques . 26 4.6 Les versions . 26 4.6.1 Version 0.1 . 26 4.6.2 Version 0.2 . 27 4.6.3 Version 0.3 . 27 4.6.4 Version 0.4 . 27 4.6.5 Version 1.0 . 27 4.6.6 Version 1.0.1 . 28 5 Manuel 29 5.1 Manuel d’installation . 29 5.2 Manuel d’utilisation . 29 6 Bilan de ce projet 35 7 Perspectives et conclusions 36 A Diagramme de Gantt 37 B Code 38 B.1 Exemple de modèle . 38 B.1.1 src/Ml/TransactionBundle/Entity/Transaction.php . 38 B.1.2 src/Ml/TransactionBundle/Entity/Account.php . 41 B.1.3 src/Ml/TransactionBundle/Entity/Evaluation.php . 44 B.1.4 src/Ml/TransactionBundle/Entity/BasicEval.php . 45 B.2 Exemple de formulaire . 46 B.2.1 src/Ml/UserBundle/Form/UserType.php . 46 B.3 Exemple d’exception . 47 B.3.1 src/Ml/TransactionBundle/Exception/TransactionException.php . 47 B.3.2 src/Ml/TransactionBundle/Exception/RefusedTransactionException.php . 47 B.4 Exemple de contôleur . 48 B.4.1 src/Ml/TransactionBundle/Controller/TransactionController.php . 48 B.5 Exemple de routes . 50 B.5.1 src/Ml/TransactionBundle/Resources/config/routing.yml . 50 B.6 Exemple de vues . 50 B.6.1 app/Resources/views/layout.html.twig . 50 B.6.2 app/Resources/views/headerbar.html.twig . 51 B.6.3 src/Ml/TransactionBundle/Resources/views/Transaction/index.html.twig . 52 B.6.4 src/Ml/UserBundle/Resources/views/User/edit.html.twig . 53 C Précisions sur la documentation 55 D Documentation des espaces de nommage 56 D.1 Référence de l’espace de nommage Ml . 56 D.2 Référence de l’espace de nommage Ml\AdministrationBundle . 56 D.3 Référence de l’espace de nommage Ml\AdministrationBundle\Controller . 56 D.4 Référence de l’espace de nommage Ml\ForumBundle . 56 D.5 Référence de l’espace de nommage Ml\ForumBundle\Controller . 57 D.6 Référence de l’espace de nommage Ml\ForumBundle\Form . 57 3 D.7 Référence de l’espace de nommage Ml\GroupBundle . 57 D.8 Référence de l’espace de nommage Ml\GroupBundle\Controller . 57 D.9 Référence de l’espace de nommage Ml\HomeBundle . 57 D.10 Référence de l’espace de nommage Ml\HomeBundle\Controller . 57 D.11 Référence de l’espace de nommage Ml\libServices . 57 D.12 Référence de l’espace de nommage Ml\ServiceBundle . 58 D.13 Référence de l’espace de nommage Ml\ServiceBundle\Controller . 58 D.14 Référence de l’espace de nommage Ml\ServiceBundle\Form . 58 D.15 Référence de l’espace de nommage Ml\TransactionBundle . 58 D.16 Référence de l’espace de nommage Ml\TransactionBundle\Controller . 58 D.17 Référence de l’espace de nommage Ml\TransactionBundle\Exception . 58 D.18 Référence de l’espace de nommage Ml\UserBundle . 59 D.19 Référence de l’espace de nommage Ml\UserBundle\Controller . 59 D.20 Référence de l’espace de nommage Ml\UserBundle\Form . 59 E Documentation des classes 60 E.1 Référence de la classe Ml\AdministrationBundle\Controller\AdministrationController . 60 E.1.1 Description détaillée . 60 E.1.2 Documentation des fonctions membres . 60 E.2 Référence de la classe Ml\ServiceBundle\Form\BasicType . 61 E.2.1 Description détaillée . 62 E.2.2 Documentation des fonctions membres . 62 E.3 Référence de la classe Ml\ServiceBundle\Form\CarpoolingType . 62 E.3.1 Description détaillée . 63 E.3.2 Documentation des fonctions membres . ..
Recommended publications
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • Preview Grav Tutorial (PDF Version)
    Grav About the Tutorial Grav is a flat-file based content management system which doesn't use database to store the content instead it uses text file (.txt) or markdown (.md) file to store the content. The flat-file part specifically refers to the readable text and it handles the content in an easy way which can be simple for a developer. Audience This tutorial has been prepared for anyone who has a basic knowledge of Markdown and has an urge to develop websites. After completing this tutorial, you will find yourself at a moderate level of expertise in developing websites using Grav. Prerequisites Before you start proceeding with this tutorial, we assume that you are already aware about the basics of Markdown. If you are not well aware of these concepts, then we will suggest you to go through our short tutorials on Markdown. Copyright & Disclaimer Copyright 2017 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] i Grav Table of Contents About the Tutorial ...................................................................................................................................
    [Show full text]
  • Managing Data Constraints in Database-Backed Web Applications
    Managing data constraints in database-backed web applications Junwen Yang Utsav Sethi Cong Yan University of Chicago, USA University of Chicago, USA University of Washington, USA [email protected] [email protected] [email protected] Alvin Cheung Shan Lu University of California, Berkeley University of Chicago, USA USA [email protected] [email protected] ABSTRACT Database-backed web applications manipulate large amounts of … <input value=‘title’ pattern=‘.+’ title=‘invalid title’/> persistent data, and such applications often contain constraints … that restrict data length, data value, and other data properties. Such constraints are critical in ensuring the reliability and usability of Field Type Null Default … these applications. In this paper, we present a comprehensive study on where data constraints are expressed, what they are about, how title varchar(30) NO NULL … often they evolve, and how their violations are handled. The re- sults show that developers struggle with maintaining consistent … data constraints and checking them across different components validates_length_of : title, maximum: 60, message: ‘title is too long’ Mysql::Error and versions of their web applications, leading to various prob- … lems. Guided by our study, we developed checking tools and API enhancements that can automatically detect such problems and Figure 1: Crossstack data constraints improve the quality of such applications. 1 INTRODUCTION 60 characters)” error; finally, she tried a title a little shorter than60 1.1 Motivation characters, but the web page then crashed with all the filled content Constraints are often associated with data used in software. These lost with some unreadable database error displayed. range from describing the expected length, value, uniqueness, and It turned out that different constraints were specified for the other properties of the stored data.
    [Show full text]
  • AN INTRODUCTION by Enrique Canals / @Ecanals ENRIQUE CANALS
    THE BEAUTY OF CSS PRE-PROCESSORS: AN INTRODUCTION by Enrique Canals / @ecanals ENRIQUE CANALS Software Developer @ The Hybrid Group Currently working with Sphero, creating cool things for connecting robots to the internet Worked on several interesting web projects with Pebble Current maintainer of the TextMate SCSS Bundle for syntax highlighting with support for Atom and Sublime @ecanals | www.enriquecanals.com WHAT WE'RE GOING TO COVER IN THIS SESSION PART 1 CSS basics and shortcomings What are CSS pre-processors How pre-processors work and don't work PART 2 Which one do I use? (Sass, Less, Stylus) Workflow Integration Using pre-processors in WordPress theme development PART 1 CSS BASICS AND SHORTCOMINGS BASIC CSS SYNTAX This is the CSS you're used to. html, body { width: 100%; height: 100%; overflow: hidden; } body { background-color: #fff; color: #000; line-height: 1; position: relative; } Simple enough. NOW SOMETHING A LITTLE MORE COMPLEX: .reveal.slide section, .reveal.linear section { -webkit-backface-visibility: hidden; backface-visibility: hidden; } .reveal .slides > section[data-transition=slide].past, .reveal.slide .slides > section:not([data-transition] -webkit-transform: translate(-150%, 0); -ms-transform: translate(-150%, 0); transform: translate(-150%, 0); } .reveal .slides > section[data-transition=slide].future, .reveal.slide .slides > section:not([data-transition] -webkit-transform: translate(150%, 0); -ms-transform: translate(150%, 0); transform: translate(150%, 0); } .reveal .slides > section > section[data-transition=slide].past, .reveal.slide .slides > section > section -webkit-transform: translate(0, -150%); -ms-transform: translate(0, -150%); transform: translate(0, -150%); } .reveal .slides > section > section[data-transition=slide].future, .reveal.slide .slides > section > section -webkit-transform: translate(0, 150%); -ms-transform: translate(0, 150%); transform: translate(0, 150%); } You can see how this get's ugly fast.
    [Show full text]
  • Coverity Static Analysis
    Coverity Static Analysis Quickly find and fix Overview critical security and Coverity® gives you the speed, ease of use, accuracy, industry standards compliance, and quality issues as you scalability that you need to develop high-quality, secure applications. Coverity identifies code critical software quality defects and security vulnerabilities in code as it’s written, early in the development process when it’s least costly and easiest to fix. Precise actionable remediation advice and context-specific eLearning help your developers understand how to fix their prioritized issues quickly, without having to become security experts. Coverity Benefits seamlessly integrates automated security testing into your CI/CD pipelines and supports your existing development tools and workflows. Choose where and how to do your • Get improved visibility into development: on-premises or in the cloud with the Polaris Software Integrity Platform™ security risk. Cross-product (SaaS), a highly scalable, cloud-based application security platform. Coverity supports 22 reporting provides a holistic, more languages and over 70 frameworks and templates. complete view of a project’s risk using best-in-class AppSec tools. Coverity includes Rapid Scan, a fast, lightweight static analysis engine optimized • Deployment flexibility. You for cloud-native applications and Infrastructure-as-Code (IaC). Rapid Scan runs decide which set of projects to do automatically, without additional configuration, with every Coverity scan and can also AppSec testing for: on-premises be run as part of full CI builds with conventional scan completion times. Rapid Scan can or in the cloud. also be deployed as a standalone scan engine in Code Sight™ or via the command line • Shift security testing left.
    [Show full text]
  • Symfony 5 : TWIG
    Symfony 5 : TWIG Achref El Mouelhi Docteur de l’universite´ d’Aix-Marseille Chercheur en Programmation par contrainte (IA) Ingenieur´ en Genie´ logiciel [email protected] H & H: Research and Training 1 / 64 Plan 1 Introduction 2 Commentaire 3 Interpolation 4 Declaration´ de variable 5 Operations´ sur les variables 6 Structure conditionnelle 7 Structure iterative´ H & H: Research and Training 2 / 64 Plan 8 Filtre 9 Ref´ erencement´ d’un fichier 10 Lien hypertexte 11 Variables globales 12 Inclusion 13 Block et heritage´ 14 Bonnes pratiques H & H: Research and Training 3 / 64 Remarque Symfony 5 utilise la version 3 de Twig. Introduction Symfony Twig Moteur de templates pour PHP. Apparu en 2009. Syntaxe inspiree´ par Jinja (moteur de template du framework Django de Python). Issu et utilise´ par Symfony . Supporte´ par plusieurs IDE : NetBeans, PhpStorm, Eclipse, Visual Studio Code... Supporte´ par plusieurs editeurs´ de texte : Sublime text, notepad++, vim... © Achref EL MOUELHI © H & H: Research and Training 4 / 64 Introduction Symfony Twig Moteur de templates pour PHP. Apparu en 2009. Syntaxe inspiree´ par Jinja (moteur de template du framework Django de Python). Issu et utilise´ par Symfony . Supporte´ par plusieurs IDE : NetBeans, PhpStorm, Eclipse, Visual Studio Code... Supporte´ par plusieurs editeurs´ de texte : Sublime text, notepad++, vim... © Achref EL MOUELHI © Remarque Symfony 5 utilise la version 3 de Twig. H & H: Research and Training 4 / 64 Inconvenients´ Ralentir le chargement de page Un langage (de template) de plus
    [Show full text]
  • Ruby Best Practices.Pdf
    Ruby Best Practices Ruby Best Practices Gregory Brown foreword by Yukihiro “Matz” Matsumoto Beijing • Cambridge • Farnham • Köln • Sebastopol • Taipei • Tokyo Ruby Best Practices by Gregory Brown Copyright © 2009 Gregory Brown. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or [email protected]. Editor: Mike Loukides Indexer: Ellen Troutman Zaig Production Editor: Sarah Schneider Cover Designer: Karen Montgomery Copyeditor: Nancy Kotary Interior Designer: David Futato Proofreader: Sada Preisch Illustrator: Robert Romano Printing History: June 2009: First Edition. O’Reilly and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Ruby Best Practices, the image of a green crab, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein. In March 2010, this work will be released under the Creative Commons Attribution- Noncommercial-Share Alike 3.0 License.
    [Show full text]
  • How to Communicate with Developers
    How to Communicate with Developers Employer branding, job listings, and emails that resonate with a tech audience Developers are one of the most in-demand groups of employees these days. And guess what, they noticed this as well: Countless approaches by potential employers, sometimes several messages a day through Linkedin, and a few desperate recruiters even cold calling. So those with technical talents are by no means oblivious to the talent shortage. The good news is that they don’t just use this bargaining power to simply negotiate the highest salaries and most outrageous benefits. Instead, developers are intrinsically motivated. They are looking for the right place to work. Your challenge in this noisy jobs market is to clearly communicate what defines your employer brand, what work needs doing, and, ultimately, who might be the right fit for the role. All of this is easier said than done. Because tech recruiting is a complex business, it is easy to not see the forest for the trees. This guide will help you decide where to start or what to fix next. In the first and more general part, we would like you to take a step back. Before we even think about how to package our job opening and approach a candidate with our offer, we look at what information and knowledge you should gather about your tech team and the company at large. Following that, we will take a practical look at how to write and talk about your company and the role, with a special focus on the job listings and a recruiting emails as a first introduction.
    [Show full text]
  • View-Centric Performance Optimization for Database-Backed Web Applications
    View-Centric Performance Optimization for Database-Backed Web Applications Junwen Yang1, Cong Yan2, Chengcheng Wan1, Shan Lu1, Alvin Cheung2 1University of Chicago, junwen, cwan, [email protected] 2University of Washington, congy, [email protected] Abstract—Web developers face the stringent task of designing … informative web pages while keeping the page-load time low. <p> … This task has become increasingly challenging as most web <%= @active_projects … > contents are now generated by processing ever-growing amount … </p> of user data stored in back-end databases. It is difficult for developers to understand the cost of generating every web-page … element, not to mention explore and pick the web design with @active_projects = user.projects.active the best trade-off between performance and functionality. In this … paper, we present Panorama, a view-centric and database-aware development environment for web developers. Using database- aware program analysis and novel IDE design, Panorama pro- Fig. 1: Performance understanding challenge vides developers with intuitive information about the cost and the performance-enhancing opportunities behind every HTML file sidebar.html.erb, which produces this sidebar, renders element, as well as suggesting various global code refactorings these projects based on a Ruby variable @active projects that enable developers to easily explore a wide spectrum of embedded in the HTML file; this variable is computed performance and functionality trade-offs. in a controller Ruby file todos controller.rb through a seemingly straightforward assignment @active projects = I. INTRODUCTION user.projects.active. It turns out that this code actually A. Motivation retrieves objects stored in a database, and is translated into High-quality web applications need to provide both good a SQL query by the Rails framework at run time.
    [Show full text]
  • Mobile Site Rewrite
    Mobile Site Rewrite Patrick Reilly — Senior Developer Mobile Wikimedia Foundation Current implementation ● Ruby based mobile gateway utilizing Merb Process: ● A request comes in from a mobile browser ● The request generates a Device object in merb/extensions/request_extension.rb ● The Device object picks a format in Device#format_name ● Any method_missing that Device receives is looked up in the format specification ● The formats are specified in config/formats.yml ● An Article is fetched for that device ● First, the article figures out what kind of parser needed to be run on the page It then generates a key with that parser type. ● It then checks to see if that has been cached ● If it is not cached, it grabs scrapes the Wikipedia page and processes it with some /app/models/parsers/* class ● If it is cached, it returns that cached object ● The layout is generated with the returned Article#html ● The device format is used heavily here (aka, "= current_device.stylesheet_name") ● An "app/views/layouts/search#{format}.html.haml" file is rendered in the search area ● Changes in the search box and CSS fields are the biggest difference between formats Mobile site rewritten in PHP ● Having the site in Ruby causes a number of headaches (for code review, code deployment, and server maintenance) given Wikimedia's mostly PHP-based infrastructure. Rewrite rationale ● Puts the code in our code repo rather than on github ● Easier to review code in a language that most Wikimedia/MediaWiki developers are already using (PHP, instead of Ruby) ● Easier on
    [Show full text]
  • Brno University of Technology a Converter
    BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ A CONVERTER BETWEEN THE LESS AND SASS STYLESHEET FORMATS PŘEKLADAČ MEZI FORMÁTY LESS A SASS BACHELOR’S THESIS BAKALÁŘSKÁ PRÁCE AUTHOR ATTILA VEČEREK AUTOR PRÁCE SUPERVISOR Prof. Ing. TOMÁŠ VOJNAR, Ph.D. VEDOUCÍ PRÁCE BRNO 2016 Abstract The aim of this thesis is to research the differences between the CSS preprocessor languages, namely Less and Sass, and find applicable transformation methods to implement a converter between their dynamic stylesheet formats. A general introduction to the concept of CSS preprocessors is provided first, which is followed by a thorough description of the Lessand Sass language features. In addition to this, all the discovered differences are stated and illustrative examples of the invented conversion methods are provided in this work. This is followed by the description of the design and implementation of the proposed converter. As a part of the contribution of this thesis, a CSS comparison tool based on abstract syntax tree transformation has also been developed. Its design is described along the testing procedure used to verify the invented conversion methods. The last part of the work summerizes the achieved results and the future directions of the converter. Abstrakt Cílem této bakalářské práce je výzkum rozdílů mezi CSS preprocesorovými jazyky, jmen- ovitě Less a Sass, a nalezení použitelných transormačních metod k implementaci překladače mezi jejich formáty. Nejprve je předložen koncept CSS preprocesorů a následuje detailní popis vlastností jazyků Less a Sass. V této práci jsou uvedené všechny zjištěné rozdíly, a pak jsou představeny nové konverzní metody s demonstrativními příklady.
    [Show full text]
  • Thematic Cycle 2: Software Development Table of Contents
    THEMATIC CYCLE 2: SOFTWARE DEVELOPMENT THEMATIC CYCLE 2: SOFTWARE DEVELOPMENT TABLE OF CONTENTS 1. SDLC (software development life cycle) tutorial: what is, phases, model -------------------- 4 What is Software Development Life Cycle (SDLC)? --------------------------------------------------- 4 A typical Software Development Life Cycle (SDLC) consists of the following phases: -------- 4 Types of Software Development Life Cycle Models: ------------------------------------------------- 6 2. What is HTML? ----------------------------------------------------------------------------------------------- 7 HTML is the standard markup language for creating Web pages. -------------------------------- 7 Example of a Simple HTML Document---------------------------------------------------------------- 7 Exercise: learn html using notepad or textedit ---------------------------------------------------- 11 Example: ---------------------------------------------------------------------------------------------------- 13 The <!DOCTYPE> Declaration explained ------------------------------------------------------------ 13 HTML Headings ---------------------------------------------------------------------------------------------- 13 Example: ---------------------------------------------------------------------------------------------------- 13 HTML Paragraphs ------------------------------------------------------------------------------------------- 14 Example: ----------------------------------------------------------------------------------------------------
    [Show full text]