- A List Apart’s “Responsive Web Design” by Ethan Marcotte
- The Modernizr@modernizr script
- Ethan Marcotte’s “Fluid Images”
- Apple’s Safari Web Content Guide
- Paul Irish and Divya Manian‘s HTML5 Boilerplate (similar in function, but very different in scope to HTML5 Reset).
- Paul Irish and Faruk Ateş‘ Modernizr
- QuirksMode.org’s “A pixel is not a pixel is not a pixel”
- HTML5 Doctor’s HTML5 Reset Stylesheet
shenyi
This user hasn't shared any profile information
Posts by shenyi
Thème : Atelier préparer le contact avec l’entreprise
Thème : Atelier préparer le contact avec l’entreprise
Sujet : Rencontre employeurs
Date : mardi 14 mai 2013
Lieu : pôle d’emploi, 85 avenue Philippe Auguste, 75011 Paris 11
Entreprise : Ciorane,
Personne : Phuong-Lien PHAM, Responsable Ressources Humaines
Conseiller : Feldman Monique
Les points :
- A la place de l’autre, l’un cherche de l’emploi, l’autre cherche de compétences.
- CV, il faut super soigne, sans chacun erreur orthographe, travailler et retravailler sur votre CV
- Facteur humain :
- Cool au café ou au une pose.
- Positive et rigollot, souriant
- Présenter nous- même entretien devant le miroir
- Ecrire et réécrire la présentation
- Très court et synthétiser
- Mettre en valeur de leur réussit
- Raconter une histoire
- Que ce – que j’ai fait
- Jouer un rôle sympathique
- Attention de la déstabilisé du recruteur
- Toujours construire et crédible
- Incapables de recontacter le gens
- Une relation humaine
- Critères du recruteur :
- Technique, compétence, profile, et fonctionnel
- Relation humain et l’esprit équipe
- Motivation
- Faire la différence
- Valeur d’ajouter
- Poser des questions intéressant, curiosité
- Mise en confiance
- Toujours souriant, pas de stresse.
- Conviviale
- Faire la différence
- Veuille de la technologie : Développeur.com
- Documenter la nouvelle technologie
- Le projet personnel à montre
- Informatique évolue très vite
- Investir à nouveaux compétences ou technique
- Pratiquer à tous les jours anglais.
- Le temps est votre capital
- Assaut le certificat
- Se construire toi-même
- Mise le profile en ce temps de chômage
- A recruteur :
- Avec moi, il n’y a pas de souci
- Mise en confiance
- Marche
- Toujours vers la nouvelle technologie
- Certificat ou d’expériences
- Super pointure, super projet
- Faire passer un certificat pour marque votre CV et passer dans le short liste de recruteur.
- Stratégie de recherche d’emploi
- Passer des certifications
- Travailler sur des projets personnels
- Documenter le nouvelle technologie
Note – Up and Runing with Linux for PHP Developpers
12/05/2013
1. Setting up with virtrual machine
2. Installing Ubuntu Server 12.04
3. Configuring the Apache web server
- 3.1 nano /etc/hosts
- 3.2 sudo apt-get -y upgrade
- 3.3 sudo apt-get -q -y install build-essential module-assistant linux-header-${uname -r} dims zip unzip
- 3.4 sudo mount /dev/cdrom /media/cdrom
- 3.5 sudo sh /media/cdrom/VBoxLinuxAdditions.run –nox11
- 3.6. sudo usermod -a -G vboxsf {$USERLOGIN}
- 3.7 sudo usermod -a -G vboxsf www-data
- 3.8 sudo a2enmod rewrite
- 3.9 sudo nano -w /etc/apache2/sites-available/sandbox
- 3.10 sudo a2ensite sandbox
- 3.11 sudo nano -w /etc/apche2/httpd.conf
- ServerName développer
- 3.12 sudo nano -w /etc/php5/apache2/php.ini
- - ctrl+w for search
- setting ;
- error_reporting = E_ALL | E_STRICT
- display_errors = On
- log_errors_max_len = 0
- error_log = /media/sf_sandbox/php_errors.log
- – ctrl+X to exit
4. Configuring the database server
- 4.1 sudo nano -w /etc/mysql/my.cnf
- - ctrl+w for search
- setting :
- bind-address = 0.0.0.0
- quit : ctrl+x
- save : press « y »
5. Installing the Exim email server
- sudo apt-get -y install exim4
- sudo dpkg-reconfigure exim4-config
- sudo nano -w /etc/exim4/passwd.client
- quit : ctrl+x
- save : press « y »
- 5.4 sudo reboot
6. Introduction phpMyAdmin
- sudo apt-get -y install phpmyadmin
- sudo nano -w /etc/phpmyadmin/config.inc.php
- http://localhost:8080/phpmyadmin/
7. Creating a new database and a user
8. Connecting to a local database
- http://sandbox.dev:8080
9. Installing WordPress
- cd /media/sf_sandbox/
- wget http://wordpress.org/wordpress-3.3.2
- unzip wordpress-3.3.2.zip
- http://sandbox.dev:8080/wordpress/wp-admin/install.php
10. Installing Drupal
- wget http://ftp.drupal.org/files/projects/drupal-7.14.zip
- unzip drupal-7.14.zip
- http://sandbox.dev:8080/drupal-7.14/install.php?profile=standard
11. Installing Symfony
- wget http://symfony.com/download?v=Symfony_Standard_Vendors_2.0.13.zip -O symfony.zip
- unzip symfony.zip
- sudo nano -w /etc/php5/apache2/php.ini
- search ctrl+w
- short_open_tag = Off
- quit : ctrl+x
- save : press « y »
- sudo apt-get -y install php5-sqlite php5-intl php-apc
- sudo apt-get install php5-sqlite
- (You need to enable either the SQLite or PDO_SQLite extension for the profiler to run properly.)
- sudo service apache2 restart
- sudo chmod 755 ~/.nano_history
- sudo chown scheffer_shen:scheffer_shen ~/.nano_history
- nano -w Symfony/web/config.php
- nano -w Symfony/web/app_dev.php
- http://sandbox.dev:8080/Symfony/web/config.php
- http://sandbox.dev:8080/Symfony/web/app_dev.php/
12. Installing Zend Framework
- wget http://framework.zend.com/releases/ZendFramework-1.11.11/ZendFramework-1.11.11-minimal.zip
- unzip ZendFramework-1.11.11-minimal.zip
- sudo apt-get install php-pear
- sudo pear config-set auto_discover 1
- sudo pear channel-discover pear.phpunit.de
- sudo pear install pear.phpunit.de/PHPUnit
- ZendFramework-1.11.11-minimal/bin/zf.sh create project zf-sandbox
- cp -R /media/sf_sandbox/ZendFramework-1.11.11-minimal/library/Zend zf-sandbox/library
- http://sandbox.dev:8080/zf-sandbox/public/
13 Installing CakePHP
- Install Git with Apt-Get : sudo apt-get install git
- Setup Git : sudo nano ~/.gitconfig
- git config –global user.name « NewUser »
- git config –global user.email « new user@example.com »
- wget https://github.com/cakephp/cakephp/archive/2.1.2.zip
- unzip 2.1.2.zip
- cd cakephp
- cp app/Config/database.php.default app/Config/database.php
- nano -w app/Config/database.php
- nano -w app/Config/core.php
- http://sandbox.dev:8080/cakephp-2.1.2/
14. Troublesshooting Apache
- sudo service apache2 stop
- sudo service apache2 start
- http://localhost:8080
- cd /var/log/apache2
- ls -al sandbox.*
- tail -f sandbox.dev-error.log
- tail -f sandbox.dev-access.log
- ps aux | grep apache
- sudo service apache2 restart
- sudo netstat -nap | grep apache
- sudo netstat -nap | grep :80
15 Troubleshooting MySQL
- sudo nano -w /etc/mysql/my.cnf
- sudo service mysql restart
- tail -f /var/log/mysql/mysql.log
- http://localhost:8080/phpmyadmin
- tail -f /var/log/mysql/error.log
- ps aux | grep mysql
- mysql -uroot -proot
- sudo netstat -nap | grep mysql
16 Troubleshooting PHP
- php –version
- php –info
- tail -f /media/sf_sandbox/php_errors.log
17. Troubleshooting Exim
- ps aux | grep exilm
- sudo service exim4 restart
- sudo netstat -nap | grep exim
- sudo tail -f /var/log/exim4/mainlog
18 . installing Webmin to monitor your server
- sudo apt-get install -y perl libnet -ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
- cd /media/sf_sandbox
- wget http://freefr.dl.sourceforge.net/project/webadmin/webmin/1.580/webmin_1.580_all.deb
- sudo dpkg –install webmin_1.580_all.deb
- sudo nano -w /etc/webmin/miniserve.conf
- sudo /etc/init.d/webmin restart
- http://localhost:10000
19. Using SSH without a password on Mac
- ssh-keygen -t rsa -C « scheffer_shen@hotmail.com »
- Your identification has been saved in /Users/WeiLu/.ssh/id_rsa.
- Your public key has been saved in /Users/WeiLu/.ssh/id_rsa.pub.
- ssh -p2222 scheffer_shen@sandbox.dev mkdir -p .ssh
- cat ~/.ssh/id_rsa.pub | ssh -p2222 scheffer_shen@sandbox.dev ‘cat >> .ssh/authorized_keys’
- ssh -p2222 scheffer_shen@sandbox.dev
- nano -w ~/.ssh/config
- ssh sandbox
17 Using a Mysql client with your database
- http://www.sequelpro.com
18. Managing the server
- sudo shutdown -h now
- sudo reboot
- sudo apt-get update
- sudo apt-get upgrade
Useful tools to simplify CSS3 development
Useful tools to simplify CSS3 development
CSS3 Pie
CSS3 Builder
CSS3 Drop shadow generator
Cascader
Border Radius.com
Button Maker
CSS3 Generator
CSS3 Gradient Generator
CSS3 Please
CSS3 Cheat Sheet
Responsive Web Design Frameworks
HTML 5 Resource
Liste de bonnes pratique pour la performance web
- Exceptional Performance – Yahoo Developper Network
- Web Performance Best Practices
- Yui Compressor
- Yslow
- Page Speed
Les sites de référence
- La spécification technique pour les développeurs par le WhatWG
- WebPlatform
- HTML5Rocks
- Mozilla Developper Network
- Dev. Opera
- Develop for the web with Internet Explorer
- Safari Dev Center
Prise en charge de HTML5
- When can I use
- HTML5Please
- HTML5 & CSS3 readline
- HTML5Test
- Mobile HTML
- Find me by IP
- Comparaison des moteurs de rendu HTML5
- Browsescope
Bibliothèque de détection et de modernisation
- Modernizr (concerne la détection HTML5 et CSS 3)
- html5shim (ou html5shiv) - Ce petit script autorise l’unsage des nouveuax éléments HTML5 sur Internet Explorer (<9)
- Polyfills
And good news for you, there is a polyfill for nearly every HTML5 feature that Modernizr detects. Yup. So in most cases, you can use a HTML5 or CSS3 feature and be able to replicate it in non-supporting browsers. Yes, not only can you use HTML5 today, but you can use it in the past, too!
But that leads to a big, fat warning: just because you can use a polyfill doesn’t mean you should. You want to deliver the best user experience possible, which means it should be quick! Loading five compatibility scripts for IE7 so it looks and works the exact same as Chrome and Opera isn’t a wise choice. There are no hard and fast rules, but keep in mind how adding more scripts to the page can impact the user experience. And remember, none of your users view your site in more than one browser; It’s okay if it looks and acts differently.
Frameworks HTML
- HTML5 Boilerplate
- Bootstrap (front end framework)
- Initializr
- HTML5 Reset
- The M Project
- Lungo.js
Others :
Highlighted HTML5, CSS3, and JavaScript technologies
- 1. range form element
- <input type=”range” min=”0” max=”100” step=”10” value=”50”/>
- 1.1. decent browser support
- 1.2. CanIUse.com
- 1.3. Firefox displays text field currently
- - JavaScript script available
- 1.4. value field not included
- 1.5. relatively easy to implement with JavaScript
- 2.localStorage
- 2.1. vey straightforward to use
- 2.2. adds “state” to websites without server-side coding
- 2.3. unlike cookie, stored in browser
- 2.4. 5 MB limit vs. 4kb for cookie
- 2.5. name/value pair structure – string only
- 2.6. two simple commands most used
- - localStorage.setItem(“ItemName”, “ItemValue”);
- - localStorage.getItem(“ItemName”);
- 2.7. solide browser support ( http://caniuse.com/#feat=namevalue-storage )
- 3.Canvas
- 3.1. enables run-time graphics
- 3.2. stroke and fill independently supported
- 3.3 drawing primitives supported (line, circle, rectangle)
- 3.4. text supported
- 3.5. images supported
- 3.6. enables interactive graphics capabilities
- - can combine layers of imagery
- - apply graphics filters
- - manipulate imagery (move, resize, rotate, etc.)
- 3.7. great browser support ( http://caniuse.com/#feat=canvas )
- 4. CSS3 transitions and transforms
- 4.1. establish 3D container and observer placement
- - perspective: 500px
- - perspective: 1500px;
- - perspective: 150px;
- 4.2. rotate object to any degree
- 4.3. transform: rotate3d(10,20,20,15deg);
- - transform: rotateX(10deg);
- - transform: rotateY(20deg);
- - transform: rotateZ(10deg);
- 4.4. reveals or hides backfaces
- 4.5. backface-visibility: visible;
- 4.6. backface-visibility : hidden;
- 4.7. solid support (http://caniuse.com/#feat=transform2d )
Example
index.html<!—http://calebevans.me/projects/jcanvas/index.php - -> <script type="text/javascript" src="scripts/jcanvas.min.js"></script> <!—https://github.com/fryn/html5slider - -> <script type="text/javascript" src="scripts/html5slider.js"></script> <link href="styles/transitions.css" rel="stylesheet" type="text/css"> <script type="text/javascript"> // Check for local storage; // if exists, set variables and hide form var storedAge = localStorage.getItem('age'); var storedGender = localStorage.getItem('gender'); if (storedAge != null) { $('#specialOffer').removeClass('unsubmitted'); $('.detail').css('display','none'); } // If form unsubmitted, do card flip if ($('#specialOffer').hasClass('unsubmitted')) { $('.cardGroup.flip').hover( function () { $(this).find('.card').addClass('theFlip'); }, function () { $(this).find('.card').removeClass('theFlip'); } ); } // Draw initial canvas if (storedAge == null) { $("#myCanvas").drawText({ layer: true, fillStyle: "#36c", font: "bold 32pt Trebuchet MS", text: "Get Special Offer Here!", x: 100, y: 100, name: "startLayer", maxWidth: 200 }); } else { //Create special offer canvas, based on local storage values var theText; var theImage; if (storedGender == 'male') { theImage = 'images/mars.jpg'; } else { theImage = 'images/venus.jpg'; } storedAge = parseInt(storedAge); if (storedAge <= 60) { theText = 'HIKE!\n25% off!'; } else { theText = 'TOUR!\n25% off!' } $("#myCanvas").addLayer({ type: 'image', source: theImage, x: 100, y: 100, load: function() { $(this).drawLayer(1); $(this).drawLayer(2); } }); $("#myCanvas").addLayer({ type: 'text', fillStyle: "#fff", font: "bold 32pt Trebuchet MS", text: theText, x: 101, y: 101, maxWidth: 200 }); $("#myCanvas").addLayer({ type: 'text', fillStyle: "#36c", font: "bold 32pt Trebuchet MS", text: theText, x: 100, y: 100, maxWidth: 200 }); $("#myCanvas").drawLayers(); } // Form submit button actions $('#theButton').click(function() { $("#myCanvas").removeLayer("startLayer"); var theAge = $('#age').val(); var theGender = $('input:radio[name=gender]:checked').val(); localStorage.setItem("age", theAge); localStorage.setItem("gender", theGender); window.location.href = "offer.html"; }); // Upate text field for slider $("#age").change(function(){ var age = $("#age").val(); $("#rangeValue").val(age); }); }); </script> ... <div id="outerOffer" class="cardGroup flip"> <div id="specialOffer" class="card unsubmitted"> <canvas id="myCanvas" width="200" height="200"></canvas> <div class="detail"> <p>Tell us just a little about yourself and we'll give you a special discount on one of our famous planetary packages!</p> <form id="personalData"name="personalData" method="post" action=""> <p> <label> <input name="gender" type="radio" id="gender_0" value="male" checked /> Male</label> <label> <input type="radio" name="gender" value="female" id="gender_1" /> Female</label> </p> <p> <label for="age">Age</label> <input type="range" name="age" id="age" min="18" max="98" value="60" onchange="printValue('age','rangeValue')" /> <input id="rangeValue" type="text" /> </p> <p id="buttonLine"> <input type="button" name="button" id="theButton" value="Get My Special Offer" /> </p> </form> </div> </div> </div>Transition.css
.cardGroup { display:block; width:220px; height:200px; position:relative; margin-bottom:30px; } .card { display:block; width:100%; height:100%; } .cardGroup img { width:100%; height:100%; position:absolute; display:block; } .cardGroup .detail { display:block; width:100%; height:100%; position:absolute; background:#fff; top: 0; } /* CSS3 Flip */ .cardGroup.flip { -webkit-perspective:800px; -moz-perspective:800px; -ms-perspective:800px; -o-perspective:800px; perspective:800px; } .cardGroup.flip .card { -webkit-transition: -webkit-transform 1s; -moz-transition: -moz-transform 1s; -ms-transition: -ms-transform 1s; -o-transition: -o-transform 1s; transition: transform 1s; -webkit-transform-style: preserve-3d; -moz-transform-style: preserve-3d; -ms-transform-style: preserve-3d; -o-transform-style: preserve-3d; transform-style: preserve-3d; } .cardGroup.flip .detail, .cardGroup.flip .theFlip { -webkit-transform: rotateY(-180deg); -moz-transform: rotateY(-180deg); -ms-transform: rotateY(-180deg); -o-transform: rotateY(-180deg); transform: rotateY(-180deg); } .cardGroup.flip canvas, .cardGroup.flip .detail { -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -o-backface-visibility: hidden; backface-visibility: hidden; }offer.html
<script type="text/javascript"> $(document).ready(function () { // Get items from localStorage var storedAge = localStorage.getItem('age'); var storedGender = localStorage.getItem('gender'); // If localStorage item exists, show and populate special offer div if (storedAge != null) { var theAction; var theImage; var theDiscount = '25% Off!'; // Determine values based on localStorage if (storedGender == 'male') { theImage = 'images/mars_big.jpg'; theImageAlt = 'Mars'; } else { theImage = 'images/venus_big.jpg'; theImageAlt = 'Venus'; } storedAge = parseInt(storedAge); if (storedAge <= 60) { theAction = 'HIKE'; } else { theAction = 'TOUR' } // Change values $('#planetImage img').attr({ src: theImage, alt: theImageAlt }); $('#actionText h1').text(theAction); $('#discount h1').text(theDiscount); $('#specialOffer').css('display','block'); } }); </script> ... <div id="specialOffer"> <div class="banner"></div> <div id="actionText"><h1>Tour</h1></div> <div id="planetImage"><img src="images/venus_big.jpg" alt="Venus"></div> <div id="discount"><h1> 25% Off!</h1></div> <div class="clearfix"></div> <div class="banner"></div> </div> - 4.1. establish 3D container and observer placement
Adobe Creative Cloud
Creative cloud c’est l’abonnement le stockage en ligne et d’accès privilège au logiciel ( master collection) et des services,
- Creative.adobe.com
- InDesign peut exporter l’application ipad
- Edge animate crée l’animation en html5
- Edge reflow crée le site en résponsive désigne.
- Passer certain pixels, en changer le CSS.
- Edge web front utilise le front en ligne