zigotoo's Introduction
zigotoo's People
zigotoo's Issues
Controller as services
http://symfony.com/doc/current/cookbook/controller/service.html
Ca éviterait de faire des get('serviceid') dans le code
Il reste la commande, est ce qu'elle peut etre injectée aussi ?
Ne plus utiliser d'auto increment mysql
Doctrine peut générer des UUID à la place
Contenu de la home teaser
1er jet de contenu https://moqups.com/[email protected]/aETIFkAt/p:a5db78d3f
design :
http://ivanbobrov.com/8br7qidkgd6w4idob2r3qub8vjrp3r
http://www.123rf.com/photo_37538736_vector-pet-shop-icon-design-templates-in-flat-cartoon-style--friendly-cats-and-dogs.html
http://www.123rf.com/photo_43584872_set-of-cute-cartoon-farm-animals-vector-illustration.html
http://www.123rf.com/photo_8125237_cute-dogs.html?term=cute%2Bpet
http://www.123rf.com/photo_8125238_cute-cats.html?term=cute%2Bpet
http://www.123rf.com/photo_8883051_cartoon-fish-set-vector.html?term=cute%2Bpet
http://www.123rf.com/photo_37391466_home-pet-vector-set.html
Ameliorer la conversion de la home
http://www.123rf.com/photo_37538736_vector-pet-shop-icon-design-templates-in-flat-cartoon-style--friendly-cats-and-dogs.html
http://www.123rf.com/photo_40215116_stock-vector-vector-set-of-cartoon-illustrations-in-simple-flat-style--funny-and-friendly-dogs-and-puppies.html?fromid=MUNqU0NYZk9yOUczT2E5WW1KclIwZz09
http://www.123rf.com/photo_32726601_stock-vector-vector-set-of-cartoon-dogs-in-flat-style--funny-and-smiling-small-pets--illustrations-and-design-ele.html?fromid=MUNqU0NYZk9yOUczT2E5WW1KclIwZz09
http://www.123rf.com/photo_16440341_seamless-pattern-with-animal-paws.html?fromid=MUNqU0NYZk9yOUczT2E5WW1KclIwZz09
Brancher GA
Deux propriétés créés : Zigotoo_prod et Zigotoo_dev
_dev est utilisé pour tous ce qui est !== 'prod', on utilise également le script de debug dans ce cas.
Thumbnail animal dans la page éleveur
En tant que visiteur, je veux voir d'un rapide coup d'oeil les animaux à adopter
Automatiser un rapport de code coverage
Idée : lancer phpunit avec --coverage-php dans travis. Utiliser le fichier généré pour envoyer le status à la pull request github
https://developer.github.com/guides/building-a-ci-server/
Peut etre un lien vers le rapport pushé sur S3 ?
Virer DisplayableException
Utiliser des HistoryException.
On veut pas de label dans les services !
Brancher une build travis
Mettre le badge sur le github
Intégration aux pull requests
Produire un rapport de coverage consultable en ligne
bin/phpunit --coverage-html app/coverage
Setup de la prod sur Clever Cloud
- configuration mails
Utiliser des EntityRepository spécialisés
La possibilité de pouvoir mocker des méthodes typée va améliorer la testabilité des services utilisant doctrine
Le but est de ne plus avoir de findBy(array('url' => $url)) mais plutot des findByUrl($url)
Instancier le kernel à chaque requête dans les tests
Le but est de ne pas garder d'état entre les requêtes dans un test puisque c'est le comportement client-serveur normal.
Un exemple concret :
Une requete de création de page animal va créer des entity doctrine et les persister.
Une 2eme requete de get sur la page animal va aller récupérer ces enity depuis l'EntityManager qui aura garder son état interne et ne va donc pas requeter la base. La persistance en base n'est donc pas testée.
Remarque : on pourrait faire aussi des update() sur les entity, faut voir
Page animal
- nom = random
- (espèce = de l'eleveur)
- (race = de l'eleveur)
- (sexe)
- dateNaissance = date du jour
- informations complémentaires : immat, LOF/LOOF etc
- photos
- à adopter / adopté / option / reproducteur(ice) = à adopter
- (père)
- (mère)
https://github.com/angular-ui/ui-uploader
Cette première version ne traitera surement pas les particularités des espèces. D'où le champ générique "information complémentaire" libre.
ALTER TABLE page_animal_commit ADD statut INTEGER NOT NULL CONSTRAINT tbl_temp_default DEFAULT 1;
ALTER TABLE page_animal_commit ALTER statut DROP DEFAULT;
Découper UserUtils
La partie de création d'utilisateur et de page eleveur doit utiliser qu'un kernel ou un container
Seul l'authentification doit utiliser un clien
Optimisation SEO du teaser
- Title plus riche
- balise meta description
Ouvrir l'indexation google
Commit sur page eleveur cassé
Renommer zigoto en zigotoo
repo github
partout dans le code
clever cloud
Définir une politique de log
Enregistrer les logs quelque part
https://fr.wikipedia.org/wiki/Syslog
Définir les actions selon le niveau
Contacter un eleveur
En tant que visiteur, je veux pouvoir contacter un eleveur
Feature d'historique générique
branch:
url
owner
commit
commit
parent
branch..
blob..
blob
string
page eleveur : branch
url
owner
pageEleveurCommit : commit
parent : pageEleveurCommit
description : blob
news : blob..
animals : animal..
animal : branch
nom
owner ?
animalCommit:
parent : animalCommit
description : blob
race : blob
photos : blob..
Débrancher tout le contenu actuel
Rendre les pages inaccessible ou mettre des redirections.
feature flag ?
Simplifier la gestion des conf et l'installation
Le but est d'avoir moins de conf dans le parameters.yml et de commiter le fichier. On doit pouvoir utiliser des bases de données sur Clever Cloud directement. plus besoin de setuper ca en local.
Ouverture du login
- passer les pages de FOSUserBundle sur le design zigotoo
- Définir les wordings
- Brancher les mails
Gérer les cas d'erreurs coté client
Pour l'instant les cas d'erreurs sont bien gérés coté service mais pas coté client.
2 cas :
- La requetes POST sur la home peut renvoyer une page blanches avec un message d'erreur. Il faudrait coller ca dans la validation du formulaire de création de page eleveur
- Les requetes xhr peuvent retourner des erreurs qui ne sont pas du tout gérée par le js.
Générateur de nom d'animaux
http://www.photos-animaux.com/service,prenom,m.html
prendre le sexe en compte ?
Favicon
Chrome requete /favicon.ico et ca claque parce que le fichier n'existe pas. Apache delegue donc la requete à symfony qui va matcher la route sur getPageEleveur avec favicon.ico comme slug de page eleveur
Le but est de rajouter favicon.ico dans web/ et de déclarer l'icone dans le html
<link rel="icon" type="image/ico" href="favicon.ico" />
Voir pour safari IOS
http://caniuse.com/#search=favicon
Collecte mail
Datepicker
Migrer a symfony 3 / php7
php7 ok
symfony3 : en attente d'une release de fosuserbundle https://github.com/FriendsOfSymfony/FOSUserBundle/releases
FriendsOfSymfony/FOSUserBundle#1996
Bloquer les créations de page eleveur sur des urls existantes
Cas du gars qui créé une page eleveur "Login"
Utiliser une base de données sur l'org zigotoo clevercloud pour la prod
Pour éviter de devoir faire une migration le moment venu
Passage à Postgres
Ca a l'air beaucoup mieux que mysql, je sais pas pourquoi mais tout le monde le dit :/
La timezone de la prod n'est pas en UTC+1
Il y a 2 problèmes :
- le php est en UTC
- la base de données est en UTC
Solution :
Clevercloud permet de configurer php avec un fichier .user.ini dans le webroot. On y met donc
date.timezone = 'Europe/Paris'
En suite pour la bdd, on exécute une commande en post-install de composer qui joue la requête SET TIME ZONE 'Europe/Paris'
en prennant la valeur de la timezone de php. Comme ca la conf est mutualisée.
Page contact
Page eleveur preview
En tant qu’éleveur, je veux pouvoir voir ma page éleveur tel qu'un visiteur la voit.
En tant que développeur, ca serait cool aussi de pas avoir à faire une navigation privée a coté...
Bloquer les crawler sur la prod
http://www.robotstxt.org/robotstxt.html
permet d'empecher les crawler à partir de la home.
Cela n'empeche pas à d'autres sites de mettre des liens vers chez nous. Pour bloquer ca il faut mettre une balise meta noindex dans les pages.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.