Avant-Propos Présentation Du Framework Symfony

Total Page:16

File Type:pdf, Size:1020Kb

Avant-Propos Présentation Du Framework Symfony Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage EISYM dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le lien de téléchargement. Avant-propos 1. Introduction..........................................11 2. À qui s'adresse ce livre ? .................................13 3. Objectifs du livre ......................................14 3.1 Ce que vous allez apprendre ..........................14 3.2 Pourquoi parler de CodeIgniter et Symfony ? .............15 3.3 Symfony et CodeIgniter .............................16 3.4 Les pré-requis .....................................16 3.4.1 Pour Symfony ................................16 3.4.2 Pour CodeIgniter ..............................17 Chapitre 1 Présentation du framework Symfony 1. Présentation ..........................................19 2. Les projets ...........................................21 3. Les applications .......................................22 4. Les environnements ....................................22 5. Les "helpers" ..........................................23 6. Les fichiers de configuration ..............................24 2 Symfony et CodeIgniter Le développement rapide d'applications web en PHP Chapitre 2 Installer le framework Symfony 1. Installer les sources de Symfony ...........................25 2. Générer un projet ......................................29 3. Configurer le serveur et les hôtes virtuels ....................35 4. Comprendre l'architecture d'un projet.......................38 5. Créer une application ...................................39 Chapitre 3 Travailler avec les vues 1. Les vues .............................................43 1.1 Les templates .....................................45 1.2 Les layouts .......................................49 1.3 Les modules ......................................53 1.3.1 Travailler avec un module vierge ..................55 1.3.2 Passer des paramètres...........................56 2. Utiliser les sessions.....................................62 Chapitre 4 Comprendre le format YAML 1. Qu'est-ce que YAML ? ..................................65 2. Ce qu'il faut savoir sur YAML ............................66 3. Les données scalaires ...................................67 3.1 Les chaînes de caractères .............................67 3.2 Les entiers ........................................68 3.3 Les décimaux......................................68 3.4 Les exponentiels ...................................68 3.5 Les hexadécimaux ..................................69 3.6 Les octaux........................................69 Table des matières 3 3.7 Les valeurs nulles ..................................69 3.8 Les valeurs booléennes...............................69 3.9 Les dates .........................................69 4. Les collections ........................................70 4.1 Les séquences .....................................70 4.2 Les associations ....................................70 Chapitre 5 Travailler avec les modèles 1. Le modèle dans Symfony ................................75 2. Doctrine et Propel .....................................76 3. Configurer une base de données ...........................76 4. Le fichier schema.yml ...................................78 5. Charger un jeu de données ...............................80 6. Les formulaires générés..................................81 Chapitre 6 Utiliser le générateur d'admin 1. Le "backend" ..........................................87 2. Créer une application ...................................88 3. Générer une interface d'administration ......................88 3.1 Description .......................................89 3.2 Détail d'une interface générée .........................90 4. Authentification.......................................96 4.1 Gestion des droits ..................................96 4.2 Personnaliser la page de connexion .....................99 4.3 Tester si un utilisateur est connecté ....................99 4 Symfony et CodeIgniter Le développement rapide d'applications web en PHP Chapitre 7 Comprendre le routage 1. Les URL (Uniform Ressource Locator) .....................105 2. Les méthodes HTTP ...................................106 3. Le fichier routing.yml ..................................106 4. La collection de routes Doctrine ..........................111 Chapitre 8 Mettre en pratique Symfony 1. Le projet "Mondevis"...................................113 1.1 Présentation .....................................113 1.2 Les fonctionnalités ................................116 1.3 Le MCD (Modèle Conceptuel des Données) .............117 1.4 S'aider du logiciel DBDesigner ........................118 2. Créer le projet........................................121 2.1 Créer les applications ..............................122 3. Modifier le routage ....................................126 4. Modifier les vues .....................................127 4.1 Modifier les layouts................................127 4.2 Modifier les templates ..............................128 5. Ajouter une interface d'administration .....................131 6. Conclusion ..........................................133 Chapitre 9 Aller plus loin avec les formulaires 1. Les classes sfForm et sfWidget ...........................135 1.1 Les champs INPUT ................................138 1.2 Les labels........................................139 1.3 Ajouter des attributs ...............................140 Table des matières 5 1.4 Les valeurs par défaut ..............................140 1.5 Rediriger un internaute .............................141 2. La validation des saisies ................................141 2.1 Présentation .....................................141 2.2 La classe sfValidatorBase ............................142 2.3 Les types de validation .............................142 2.4 Personnaliser les messages d'erreur.....................144 2.5 Le téléchargement de fichiers.........................145 Chapitre 10 Utiliser l'internationalisation dans Symfony 1. Qu'est-ce que l'internationalisation ? ......................147 2. Qu'est-ce que la localisation ? ............................147 3. La culture de l'utilisateur ...............................148 3.1 Présentation .....................................148 3.2 Gérer les cultures..................................148 4. La culture dans les URL ................................150 4.1 Présentation .....................................150 4.2 Exemples........................................151 5. Gérer l'encodage ......................................152 6. Traduction ..........................................153 6.1 Présentation .....................................153 6.2 Le helper __() ....................................154 7. Traduction avec Doctrine ...............................157 6 Symfony et CodeIgniter Le développement rapide d'applications web en PHP Chapitre 11 Gérer le cache dans Symfony 1. Qu'est-ce que le cache ? ................................161 2. Configuration ........................................161 3. Activer le cache ......................................162 4. Nettoyer le cache .....................................162 5. Le cache des formulaires ................................165 Chapitre 12 Effectuer des tests unitaires 1. Définition des tests unitaires ............................167 2. Le framework lime ....................................168 3. Création du contexte de tests ............................170 4. Tester une méthode ...................................172 5. Compléments sur les tests unitaires .......................174 5.1 Tester l’application complète.........................174 5.2 Couverture de code ................................174 Chapitre 13 Effectuer des tests fonctionnels 1. Que sont les tests fonctionnels ? .........................177 2. L'objet sfBrowser .....................................178 3. L’objet sfTestFunctional ................................179 4. Utiliser le chaînage ....................................180 5. Le testeur SfTesterRequest ..............................181 6. Le testeur SfTesterResponse .............................181 7. Utiliser un jeu de tests .................................183 Table des matières 7 8. Réaliser un test.......................................186 9. Conclusion ..........................................188 Chapitre 14 Présentation du framework CodeIgniter 1. Présentation .........................................191 2. Installer CodeIgniter...................................195 3. Le fichier config.php ...................................196 4. Le fichier route.php ...................................198 5. Le fichier autoload.php .................................201 6. Le fichier database.php .................................204 Chapitre 15 Travailler avec un contrôleur et des vues 1. Créer un contrôleur ...................................207 2. Le contrôleur dans l'URL ...............................209 3. Créer une vue ........................................212 4. Afficher une vue ......................................213 5. Passer des paramètres dans une vue .......................215 Chapitre 16 Travailler avec des modèles 1. Créer un modèle ......................................225 2. Utiliser un modèle pour une table.........................227 3. Utiliser un modèle dans un contrôleur .....................230 4. Créer des méthodes pour retrouver des données ..............231 5. Créer des méthodes
Recommended publications
  • Civil Good: a Platform for Sustainable and Inclusive Online Discussion
    Civil Good: A Platform For Sustainable and Inclusive Online Discussion An Interactive Qualifying Project submitted to the faculty of Worcester Polytechnic Institute In partial fulfillment of the requirements for the degree of Bachelor of Science by: Steven Malis (Computer Science), Tushar Narayan (Computer Science), Ian Naval (Computer Science), Thomas O'Connor (Biochemistry), Michael Perrone (Physics and Mathematics), John Pham (Computer Science), David Pounds (Computer Science and Robotics Engineering), December 19, 2013 Submitted to: Professor Craig Shue, WPI Advisor Alan Mandel, Creator of the Civil Good concept Contents 1 Executive Summary1 1.1 Overview of Recommendations......................2 2 Authorship5 3 Introduction 10 3.1 Existing Work - Similar Websites.................... 11 4 Psychology 17 4.1 Online Disinhibition........................... 17 4.2 Format of Discussions.......................... 22 4.3 Reducing Bias with Self-Affirmation................... 28 4.4 Other Psychological Influences...................... 34 5 Legal Issues 38 5.1 Personally Identifiable Information................... 38 5.2 Intellectual Property........................... 42 5.3 Defamation................................ 45 5.4 Information Requests........................... 46 5.5 Use by Minors............................... 49 5.6 General Litigation Avoidance and Defense............... 51 6 Societal Impact 52 6.1 Political Polarization........................... 52 6.2 Minority Opinion Representation.................... 55 6.3 History and Political
    [Show full text]
  • WEB DEVELOPER » Portfolio » Github SUMMARY I’M a Full-Stack Developer and a Programming Instructor
    LUIS MONTEALEGRE - WEB DEVELOPER » Portfolio » Github SUMMARY I’m a full-stack developer and a programming instructor. I want to be surrounded by people who push me to do the best work of my career as well as people I can nurture and support. I have over 13 years of experience in tech both in Mexico and the United States and I’m looking forward to be part of a team that values work-life balance, TDD, pair programming and code reviews. PROGRAMMING LANGUAGES AND TOOLS PHP 11 years • Laravel, Zend Framework 1, Symfony 1 & 2, Slim 2, Silex, Doctrine 1 & 2, PHPUnit, Behat, phpspec, Codeception • MySQL, PostgreSQL • jQuery, Jasmine, RequireJS, Bower, npm, Webpack, ES6, PhantomJS • Bootstrap, Sass • Vagrant, Docker • Git, SVN C# 4 years • ASP.NET Web Forms, Visual Basic • jQuery, JQuery UI • SQL Server, Oracle PL/SQL • TFS Java 2 years • Spring Boot, JUnit, Hibernate, DBUnit, Servlets, JSP/JSTL, Swing • Maven • MySQL, PostgreSQL CERTIFICATIONS EDUCATION Latinux Certified Linux Operator B. S. and Master in Computer Science. Oracle Certified Java Programmer Emeritus Autonomous University of Puebla. MCTS Microsoft SQL Server & Web [1998-2003, 2003-2005] Applications OPEN SOURCE CONTRIBUTIONS AND COMMUNITY WORK My contributions to open source projects include: Drupal Console, Codeception, Eris and Couscous. I also maintain some libraries: Modules System for Slim 2, Doctrine DBAL Fixtures Generator and a Yelp Fusion API Java Client. I'm the founder an former organizer of the PHP Puebla User Group. I helped organizing dozens of workshops and technical talks. I'm currently particpating with the San Antonio Coding Challenge meetup.
    [Show full text]
  • Musical Notation Codes Index
    Music Notation - www.music-notation.info - Copyright 1997-2019, Gerd Castan Musical notation codes Index xml ascii binary 1. MidiXML 1. PDF used as music notation 1. General information format 2. Apple GarageBand Format 2. MIDI (.band) 2. DARMS 3. QuickScore Elite file format 3. SMDL 3. GUIDO Music Notation (.qsd) Language 4. MPEG4-SMR 4. WAV audio file format (.wav) 4. abc 5. MNML - The Musical Notation 5. MP3 audio file format (.mp3) Markup Language 5. MusiXTeX, MusicTeX, MuTeX... 6. WMA audio file format (.wma) 6. MusicML 6. **kern (.krn) 7. MusicWrite file format (.mwk) 7. MHTML 7. **Hildegard 8. Overture file format (.ove) 8. MML: Music Markup Language 8. **koto 9. ScoreWriter file format (.scw) 9. Theta: Tonal Harmony Exploration and Tutorial Assistent 9. **bol 10. Copyist file format (.CP6 and .CP4) 10. ScoreML 10. Musedata format (.md) 11. Rich MIDI Tablature format - 11. JScoreML 11. LilyPond RMTF 12. eXtensible Score Language 12. Philip's Music Writer (PMW) 12. Creative Music File Format (XScore) 13. TexTab 13. Sibelius Plugin Interface 13. MusiXML: My own format 14. Mup music publication 14. Finale Plugin Interface 14. MusicXML (.mxl, .xml) program 15. Internal format of Finale 15. MusiqueXML 15. NoteEdit (.mus) 16. GUIDO XML 16. Liszt: The SharpEye OMR 16. XMF - eXtensible Music engine output file format Format 17. WEDELMUSIC 17. Drum Tab 17. NIFF 18. ChordML 18. Enigma Transportable Format 18. Internal format of Capella 19. ChordQL (ETF) (.cap) 20. NeumesXML 19. CMN: Common Music 19. SASL: Simple Audio Score 21. MEI Notation Language 22. JMSL Score 20. OMNL: Open Music Notation 20.
    [Show full text]
  • A Gentle Introduction to Symfony
    A Gentle Introduction to symfony Build professional websites faster with PHP and symfony symfony 1.3 & 1.4 This PDF is brought to you by License: GFDL Version: gentle-introduction-1.4-en-2010-10-13 Table of Contents ii Table of Contents Chapter 1: Introducing Symfony..................................................................... 11 Symfony in Brief ...................................................................................................... 11 Symfony Features............................................................................................................... 11 Who Made Symfony and Why? ........................................................................................... 12 The Symfony Community.................................................................................................... 13 Is Symfony for Me?............................................................................................................. 14 Fundamental Concepts ............................................................................................ 14 PHP..................................................................................................................................... 14 Object-Oriented Programming (OOP) ................................................................................ 14 Magic Methods................................................................................................................... 15 Object-Relational Mapping (ORM) ....................................................................................
    [Show full text]
  • Compilation of Available Services and Applications Susceptible to Being Cloudified
    Project Acronym: STORM CLOUDS Grant Agreement number: 621089 Project Title: STORM CLOUDS – Surfing Towards the Opportunity of Real Migration to CLOUD- based public Services Deliverable 1.2 Compilation of available services and applications susceptible to being cloudified Work Package: WP1 Version: 1.2 Date: 10/11/2015 Status: Project Coordinator Accepted Dissemination Level: Internal Legal Notice and Disclaimer This work was partially funded by the European Commission within the 7th Framework Program in the context of the CIP project STORM CLOUDS (Grant Agreement No. 621089). The views and conclusions contained here are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the STORM CLOUDS project or the European Commission. The European Commission is not liable for any use that may be made of the information contained therein. The Members of the STORMS CLOUDS Consortium make no warranty of any kind with regard to this document, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The Members of the STORMS CLOUDS Consortium shall not be held liable for errors contained herein or direct, indirect, special, incidental or consequential damages in connection with the furnishing, performance, or use of this material. © STORMS CLOUDS Consortium 2015 D1.2 – Compilation of available services and application susceptible to being cloudified Version 1.2 Authoring Role Name Organisation Edited by
    [Show full text]
  • Copyrighted Material
    CONTENTS INTRODUCTION xxvii CHAPTER 1: INTRODUCING SYMFONY, CAKEPHP, AND ZEND FRAMEWORK 1 What Are Web Application Frameworks And How Are They Used? 2 Framework versus Library 2 When You Should Use a Framework and When You Should Not 3 Advantages 3 Disadvantages 4 PHP versus Other Programming Languages 4 Open Source PHP Web Frameworks 6 Comparison of Popular Interest 6 The First Look 7 Symfony 8 CakePHP 8 Zend Framework 9 Other Frameworks 9 CodeIgniter 10 Lithium 10 Agavi 11 Kohana 11 Prado 11 Yii 12 Akelos 12 Seagull 12 Qcodo 13 Solar COPYRIGHTED MATERIAL 13 PHP On Trax 13 Design Patterns In Web Frameworks 14 What Is a Design Pattern? 14 Model-View-Controller as the Main Structural Design Pattern 14 MVC versus MVP 15 Overview of Other Design Patterns 16 Singleton 16 Prototype 19 fftoc.inddtoc.indd xxii 11/25/2011/25/2011 55:27:35:27:35 PPMM CONTENTS Decorator 21 Chain of Responsibility 24 State 25 Iterator 26 CHAPTER 2: GETTING STARTED 29 Requirements 29 XAMPP 30 XAMPP for Windows 30 XAMPP for Linux 32 XAMPP for Mac OS 33 Apache 33 Windows Installation 33 Linux Installation 33 MacOS Installation 34 Database 34 MySQL 34 SQLite 35 phpMyAdmin — Linux 35 PEAR 35 Windows 36 Linux 36 Mac OS 36 Subversion (SVN) 36 Installation Overview 37 Installation 37 Symfony 37 Sandbox 38 PEAR 39 CakePHP 40 Zend Framework 41 PEAR 41 Archive 41 Confi guration 41 Symfony 42 CakePHP 42 Zend Framework 42 Hello World! 43 Symfony 43 CakePHP 45 Zend Framework 46 xii fftoc.inddtoc.indd xxiiii 11/25/2011/25/2011 55:27:36:27:36 PPMM CONTENTS Structure 48 Symfony 48
    [Show full text]
  • A Review of Open Source Software Solutions for Developing Water Resources Web Applications
    Brigham Young University BYU ScholarsArchive Faculty Publications 2015-02-10 A review of open source software solutions for developing water resources web applications Nathan R. Swain Brigham Young University - Provo Kilisimasi Latu University of Melbourne Scott D. Christensen Brigham Young University - Provo Norman L. Jones Brigham Young University - Provo, [email protected] E. James Nelson Brigham Young University - Provo See next page for additional authors Follow this and additional works at: https://scholarsarchive.byu.edu/facpub Part of the Other Civil and Environmental Engineering Commons BYU ScholarsArchive Citation Swain, Nathan R.; Latu, Kilisimasi; Christensen, Scott D.; Jones, Norman L.; Nelson, E. James; Ames, Daniel P.; and Williams, Gustavious P., "A review of open source software solutions for developing water resources web applications" (2015). Faculty Publications. 4279. https://scholarsarchive.byu.edu/facpub/4279 This Peer-Reviewed Article is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Faculty Publications by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected]. Authors Nathan R. Swain, Kilisimasi Latu, Scott D. Christensen, Norman L. Jones, E. James Nelson, Daniel P. Ames, and Gustavious P. Williams This peer-reviewed article is available at BYU ScholarsArchive: https://scholarsarchive.byu.edu/facpub/4279 Environmental Modelling & Software 67 (2015) 108e117 Contents lists available at ScienceDirect Environmental Modelling & Software journal homepage: www.elsevier.com/locate/envsoft Review A review of open source software solutions for developing water resources web applications * Nathan R. Swain a, , Kilisimasi Latu b, Scott D. Christensen a, Norman L.
    [Show full text]
  • Symfony 1.3 Web Application Development
    Symfony 1.3 Web Application Development Design, develop, and deploy feature-rich, high-performance PHP web applications using the Symfony framework Tim Bowler Wojciech Bancer BIRMINGHAM - MUMBAI This material is copyright and is licensed for the sole use by Vadim Kudria on 4th October 2009 6352 108th St, , Forest Hills, , 11375 Symfony 1.3 Web Application Development Copyright © 2009 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: September 2009 Production Reference: 1150909 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847194-56-5 www.packtpub.com Cover Image by Vinayak Chittar ([email protected]) Download
    [Show full text]
  • Introducing Automated Unit Testing in a Legacy PHP System
    Introducing Automated Unit Testing in a Legacy PHP System Alexander Olsson February 22, 2010 Abstract Introducing unit testing in a previously untested system is problematic. De- velopers may lack experience from extensive unit testing, and many work hours is likely needed before the system has high test coverage. It is therefore important to early on choose a framework and a strategy for implementing tests which suits both the developers and the system. The framework is selected from a survey based on requirements specified by the company and an initial guess of important testing criteria. The survey is complemented with test implementations and interviews to capture group- specific viewpoints. A strategy for implementing tests is decided using a code analysis tool, which estimates implementation effort and testing need on a per-unit basis. A test implementation order is suggested by ranking units using a diagram-based method. This approach allows for fitting the strategy to the testing skills of the team. In this application, the most suitable framework from a selection of frame- works is PHPUnit. The framework and strategy is experimentally verified on a PHP web system with over 40k SLOC and a development team of 8 people. As the team is fairly inexperienced with unit testing, a test implementation strategy which prioritize low-effort units was chosen. Furthermore, a small li- brary of unit tests is implemented and serves as templates for system-specific tests and strategy validation. i ii Acknowledgement Iwouldliketothankthemanypeoplewhohelpedmeduringmythesis.First and foremost, Richard Kronf¨alt, my supervisor at Axis Communications who has come up with countless of ideas and suggestions.
    [Show full text]
  • Symfony2 and Drupal
    Symfony2 and Drupal Why to talk about Symfony2 framework? Me and why Symfony2? ● Timo-Tuomas ”Tipi / TipiT” Koivisto, M.Sc. ● Drupal experience ~6 months ● Symfony2 ~40h ● Coming from the (framework) Java world ● My boss did not let me learn Drupal ;) ● And I come from Finland... Contents ● Situation right now ● Frameworks in general ● Symfony2 and Drupal 8 connection ● Background, general, project, terminology ● Symfony2's features ● Development demo(someone who knows) ● Summary Symfony2 web application PHP framework ● What is a framework and why to use them? ● Examples: ZEND, PEAR, ● General features ja principles ● What frameworks can do? ● What is full stack web application PHP framework? ● Is Drupal a framework? Frameworks ● ”A software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software. It is a collection of software libraries providing a defined application programming interface (API).” ● ”A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development.” -Wikipedia Symfony2 & Drupal history together ● The Web Services and Context Core Initiative (WSCCI, “Whiskey”, former ”Butler”): Aims to transform Drupal to a REST server, with a CMS on top of it. ● Changes simplified: 1. Performance 2. Every service can communicate which each other 3. Make developing easier ● Technical level: HTML, JSON, XML per URL etc communication, build HTTP handling object, rebuild menu/routing system, performance towards panels etc... ● Complicated? Yes. What next? ● ”Symfony2 realizes 90% what we need.” -crell Symfony2 & Drupal future together ● How to leverage Symfony2? ● Symfony2 components will be in core: HttpFoundation: OO layer for handling HTTP requests, responses, etc.
    [Show full text]
  • Symfony: Simplify Professional Web Development with PHP
    symfony: simplify professional web development with PHP Fabien Potencier, Sensio Labs, [email protected] Overview A framework streamlines application development by automating many of the patterns employed for a given purpose. A framework also adds structure to the code, prompting the developer to write better, more readable, and more maintainable code. Ultimately, a framework makes programming easier, since it packages complex operations into simple statements. Symfony is a complete framework designed to optimize the development of web applications. For starters, it separates a web application’s business rules, server logic, and presentation views. It contains numerous tools and classes aimed at shortening the development time of a complex web application. Additionally, it automates common tasks so that the developer can focus entirely on the specifics of an application. The end result of these advantages means there is no need to reinvent the wheel every time a new web application is built! Why create yet another PHP framework? Back in 2003, we spent some time inquiring about the existing open source development tools for web applications in PHP. We found that none fulfilled the requirements needed to develop professional PHP applications. When PHP 5 was released, we decided that the available tools had reached a mature enough stage to be integrated into a full-featured framework. We subsequently spent a year developing the symfony core, basing our work on the Mojavi Model-View-Controller (MVC) framework, the Propel object-relational mapper (ORM), and the Ruby on Rails templating helpers. We originally built symfony for Sensio’s projects, because having an effective framework at our disposal presents an ideal way to develop applications faster and more efficiently.
    [Show full text]
  • Tethys Platform: a Development and Hosting Platform for Water Resources Web Apps
    Brigham Young University BYU ScholarsArchive Theses and Dissertations 2015-06-01 Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps Nathan R. Swain Brigham Young University - Provo Follow this and additional works at: https://scholarsarchive.byu.edu/etd Part of the Civil and Environmental Engineering Commons BYU ScholarsArchive Citation Swain, Nathan R., "Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps" (2015). Theses and Dissertations. 5832. https://scholarsarchive.byu.edu/etd/5832 This Dissertation is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected]. Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps Nathan R. Swain A dissertation submitted to the faculty of Brigham Young University in partial fulfillment of the requirements for the degree of Doctor of Philosophy E. James Nelson, Chair Norman L. Jones Daniel P. Ames Gustavious P. Williams A. Woodruff Miller Department of Civil and Environmental Engineering Brigham Young University June 2015 Copyright © 2015 Nathan R. Swain All Rights Reserved ABSTRACT Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps Nathan R. Swain Department of Civil and Environmental Engineering, BYU Doctor of Philosophy The interactive nature of web applications or “web apps” makes it an excellent medium for conveying complex scientific concepts to lay audiences and creating decision support tools that harness cutting edge modeling techniques. However, the technical expertise required to develop them represents a barrier for would-be developers.
    [Show full text]