Archives de
Category: Code

Docker et PHP

Docker et PHP

Après un petit bout de temps à maintenir et mettre a jours php, apache et mysql sur mon par diverse moyen j’ai décidé de passer a docker. Il m’a fallut plusieurs essaie et tâtonnement pour arriver à une configuration qui me convient pour un environnement de développement. C’est disponible sur ce dépôt github. Il y a deux conteneurs. Le premier et le conteneur mysql de base avec un seul utilisateur root et comme mot de passe root. Le second est…

Lire la suite Lire la suite

API Platform + FOSUserBundle + LexikJWTAuthenticationBundle

API Platform + FOSUserBundle + LexikJWTAuthenticationBundle

Symfony: 3.2.2 API Platform: 2.0.3 FOSUserBundle: 2.0.0-beta2 LexikJWTAuthenticationBundle: 2.1.1 En premier lieu nous allons cloner le dépôt API Plaftorm: composer create-project api-platform/api-platform bookshop-api Une fois fait, nous installons FOSUserBundle et LexikJWTAuthenticationBundle via composer: composer require friendsofsymfony/user-bundle:2.0.0-beta-2 composer require lexik/jwt-authentication-bundle Puis nous activons les bundles fraichement installé dans AppKernel.php: public function registerBundles() { return array( // … new FOS\UserBundle\FOSUserBundle(), new Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle(), ); } Nous créons notre entité User.php: <?php namespace AppBundle\Entity; use ApiPlatform\Core\Annotation\ApiResource; use Doctrine\ORM\Mapping as ORM; use FOS\UserBundle\Model\User as BaseUser;…

Lire la suite Lire la suite

Rails 4 et MongoDB part 4 : Heroku

Rails 4 et MongoDB part 4 : Heroku

Heroku est un service paas pour héberger des applications facilement. Afin de s’en servir facilement il faut suivre quelques conseils. Premièrement, modifiez votre fichier mongoid.yml pour y ajouter : production: sessions: default: uri: <%= ENV[‘MONGOHQ_URL’] %> options: skip_version_check: true safe: true Une fois fait, ajoutez la gem rails_12factor à votre projet. Créez-vous ensuite un compte sur Heroku, puis installez la Heroku Toolbelt. Allez alors dans le dossier de votre application et lancez les commandes suivantes : heroku login heroku create…

Lire la suite Lire la suite

Rails 4 et MongoDB part 3 : Travis

Rails 4 et MongoDB part 3 : Travis

Tout d’abord, qu’est-ce que Travis-CI ? Travis-CI est un serveur d’intégration continue gratuit pour les projects open source. Il est utilisé par beaucoup de projet afin de vérifier que les pull request n’introduise pas de bug et qu’il n’y a pas de régression lors de modifications. Afin de l’utiliser il faut suivre les étapes suivantes: Se connecter sur travis-ci.org avec son compte GitHub Activer les dépôts que l’on souhaites tester Ajouter un fichier .travis.yml a la racine de notre projet…

Lire la suite Lire la suite

Rails 4 et MongoDB part 2 : Cucumber

Rails 4 et MongoDB part 2 : Cucumber

Dans l’article précédent, nous nous étions arrêté après l’utilisation du scaffolding pour créer un document dans MongoDB et le CRUD qui va avec. Parmi les fichiers générés nous avons : notre document post.rb un contrôleur le fichier posts_controller.rb qui contient les fonctions de base pour le CRUD un dossier posts contenant les différentes vues Afin de commencer par de bonnes pratiques, nous allons créer nos premiers tests BDD avec Cucumber. Le BDD, Behavior Driven Developmen, est une méthode agile qui…

Lire la suite Lire la suite

Rails 4 et MongoDB part 1

Rails 4 et MongoDB part 1

Changeons un peu et parlons de Ruby, Ruby on Rails et MongoDB. J’ai eu envie de voir ce qu’il se fait ailleurs et je pense que l’univers de RoR vaut le détour. En partant du principe que vous avez Ruby d’installer sur votre machine, l’installation de RoR est aussi simple que : gem install rails Une fois cela fait, il suffit d’une autre ligne de commande pour créer un projet RoR : rails new my_project –skip-active-record –skip-test-unit Dans le cas…

Lire la suite Lire la suite

Formulaire Symfony2 et Javascript [FR]

Formulaire Symfony2 et Javascript [FR]

J’ai récemment du faire face a une question lors d’un rendu de formulaire avec symfony2. Il me fallait faire un traitement Javascript en fonction d’un choix de radio bouton. Ma première pensée a été de customiser le rendu du formulaire pour arriver à mes besoins. Je me suis vite rendu compte qu’insérer du code Javascript customisé dans ma surcharge twig de form_row à travers le formbuilder n’était pas la bonne solution. Dans mon cas la bonne solution fut de rendre…

Lire la suite Lire la suite

SalesForce : tester le nombre d’email envoyé [FR]

SalesForce : tester le nombre d’email envoyé [FR]

Lors de la création de vos test unitaires pour SalesForce vous aurez surement a vérifié qu’un certain nombre d’email a bien été envoyé. Pour ce faire il faut utiliser la fonction system.limits.getEmailInvocations() qui renvoi le nombre d’email envoyé lors de l’exécution du test.

Ajouter un champ a un utilisateur avec le bundle sonatauserbundle [FR]

Ajouter un champ a un utilisateur avec le bundle sonatauserbundle [FR]

Si vous utilisez le bundle sonata-user-bundle il y a de fortes chances pour que vous ayez utilisé le bundle sonata-easy-extends afin de généré votre bundle de gestion des utilisateurs. J’ai découvert ce weekend qu’afin d’ajouter un nouveau champ sur un utilisateur lors de l’utilisation du bundle sonatauserbundle, il faut modifier le fichier Application/Sonata/UserBundle/Resources/config/doctrine/User.orm.xml  

Le tri par défaut dans Sonata Admin

Le tri par défaut dans Sonata Admin

J’ai récemment dû ajouter un tri par défaut sur une de mes classes admin du bundle sonata admin. Après une petite recherche, j’ai finalement trouvé qu’il suffit de surcharger une variable: protected $datagridValues = array( ‘_sort_order’ => ‘DESC’, ‘_sort_by’ => ‘day’ ); Mes données serons dorénavant ordonnées en fonction du la valeur day dans l’ordre décroissant.