As a special offer, people who will attend one of these courses will have a free pass to YAPC::EU (http://yapc.mongueurs.net). We need 6 people per course (out of a maximum of 8 ) that commit before 15 June. This is essential to us because failure to do so will compromise the coming of these gurus to YAPC::EU that is conditionnally sponsored by pythagore-fd ... except if TPF is kind enough to help us.
Please, note: 1/ the 2 courses can be taken in succession so that one first learn Perl, then learn how to do CGI in Perl. ...Or how to become a Perl CGI wizard from scratch in six days. 2/ the last day of MJD's course overlap the first day of YAPC. BooK will send a mail like this one to people already registered to YAPC. STo these guys, sorry for the duplicate. = Beginning Perl http://www.pythagore-fd.fr/2/1/LP001.jsp Length: 3 days Dates: 16, 17, 18 of july Price: 1700 Euros Reference: LP001 Audience: Perl developpers. Speaker: Dan Sugalski (http://www.sidhe.org/~dan/) Subjects: * Basic syntax * Building Perl data type * Scoping * Control flow * Basic file IO * Basic string manipulation * Basic regular expression * Using externarl program * Subroutines * Using modules * An overview of CPAN, perl's public module repository = CGI Programming in Perl http://www.pythagore-fd.fr/2/1/LP002.jsp Length: 3 days Dates: 21, 22, 23 of july Price: 1900 Euros Reference: LP002 Audience: Perl developpers. Speaker: Mark Jason Dominus (http://perl.plover.com/yak/aboutme.html) Prerequisites: Students should be familiar with the basic use of Perl. Subjects: CGI application development * Introduction to HTTP and CGI + Browsers and Servers + HTTP Session + Static Content; Dynamic Content + What is CGI? + CGI Misconceptions + Why CGI Programming can be difficult + HTTP + Fake HTTP Client; HTTP Response; HTTP Response Header + Fake HTTP Server; Fake HTTP Server Output; HTTP Request + Back to CGI + shellenv CGI Program + Content-Type; Missing Content-Type + Perl CGI Program + Where do the Errors Go? + Effect of Syntax and Other Errors; Redirecting STDERR + CGI::Carp; fatalsToBrowser' + Buffering Surprises + Lab * Form Processing + Forms + Form Widgets: text boxes; password boxes; hidden widgets; radio buttons; checkboxes; menus; submit buttons; textareas; other widgets + Lab 2a + Form Submission and Encoding; example + GET vs. POST + Decoding form input + CGI.pm; param() + Lab 2b + Debugging Techniques + CGI.pm convenience functions; persistent form Data; CGI-generated HTML + Disabling persistent data + Lab 2c * More Advanced CGI Applications + Maintaining State + Multipage Applications + PATH_INFO + Lab 3 * CGI System Issues Operating System Issues + Hazards of local files; distributed filesystem difficulties + Concurrency problems: forgotten transactions; lost databases; interleaved writes; summary + How to fix concurrence problems: file locking flock; typical uses; recipes; non-blocking locks; timeout locks + Lab 4 * DBI and database access + Relational Databases and SQL + Communicating with Databases + The DBI module; detailed example + hazards of interpolation + Concurrent access + Transactions; AutoCommit + RaiseError + Other Data Retrieval Functions + Documentation + Lab 5 * Security Issues + CGI is the World's Biggest Security Hole + Disaster Example: finger gateway + Tainting; perl -T; example; `Insecure Dependency' + Untainting Dirty Data + Operations that produce tainted data; unsafe operations; safe operations + The Unix Shell + The Two Stances; Why you must be strict; Open and closed failure modes + Do Not Trust the Browser + Lab 6 * Miscellaneous Techniques + Network programming + email + Web client programming and LWP + cookies + Long-running background jobs + caching + Dynamic image generation + Image maps + Drawing graphs + LDAP + Others topics suggested by the students -- stef