Contactez-nous
Kitpages
17 rue de la Frise
38000 Grenoble
tel : 04 58 00 33 81
Actualités
Références et Partenaires
Cela faisait un moment que l'on n'avait pas mis à jour nos références, c'est choses faîtes et il y a des beaux projets ;)
Nos tutos sur GIT
Le dernier rédigé par Isabelle, porte sur "Comment pousser un correctif sur plusieurs branches".
Sinon les autres traitant du sujet
6 développeurs symfony 2
Chez Kitpages, on ne fait que de la techniques. Dans notre effectif, nous n'avons que des développeurs.
Nous avons maintenant 6 développeurs PHP / Symfony 2.
Après ce socle commun autour de PHP, nous avons tous des compétences propres qui nous permettent de construire un large spectre de projets :
- PHP / Symfony 2
- Zend Framework
- Javascript (JQuery, KnockoutJS)
- Electronique (Arduino, Bluetooth LE)
- Ingénierie système (linux, apache,...)
- Devops (ansible, jenkins,...)
- Opensource (Github, travis-ci,...)
- Moteurs de recherche, no-sql (solr, elasticsearch, mongodb,...)
- Cartographie, Vidéo
- ...
Toutes ces compétences réunies nous permettent d'aborder des projets de plus grande ampleur qu'auparavant.
Tuto Arduino et wifi
Ce tuto montre pas à pas comment établir une communication wifi sur une plateforme Arduino.
Tuto : SFTP chrooté
Ce tutoriel indique comment créer un SFTP chrooté sous debian wheezy :
- Comment configurer son sshd
- Comment créer les users
- Un script bash qui fait tout pour vous
Doctrine Gedmo Sortable
Le Gedmo Sortable dans les doctrine extensions permet de gérer un ordre pour les données d'une table. Il est bien pratique, mais il y a quelques étapes à suivre pour le faire fonctionner et la documentation officielle est un peu courte.
Voilà un tutoriel qui vous donne pas à pas les étapes à suivre pour le mettre en place.
DIG pour interroger les DNS
Nous venons de rédiger un petit tutoriel sur l'utilisation de l'outil DIG pour interroger des DNS.
Cet outil est principalement utiliser par les développeurs web lors d'une mise en production où on doit basculer des configurations DNS. Il permet de savoir où en est la propagation et si les serveurs primaires ont bien basculé.
Kitpages déménage !
C'est fait ! Kitpages déménage dans 60 m² dans les bureaux de GEG.
Notre nouvelle adresse est :
17 rue de la Frise
38000 Grenoble
Nous avons également changé de téléphone :
04 58 00 33 81
TbbcMoneyBundle
Kitpages présente le bundle TbbcMoneyBundle. Un bundle de gestion des montants et des devises.
Ce bundle intègre la librairie Money de Mahias Verraes (qui utilise le pattern Money de Fowler).
Il propose les fonctions suivantes :
- Intégration de la librairie Money
- Intégration dans les forms Symfony2
- Gestion et persistance de taux de conversions
- Intégration de filters dans twig pour afficher les montants et devise dans différents formats
Tuto SF2: créer des events
Un tutoriel décrivant la méthode standard pour créer ses propres évènements dans symfony2 :
- Créer des évènements
- Envoyer (dispatcher) ces évènements
- S'abonner à un évènement
- Tester des events
Plugin JQuery QuickStatus
kitQuickStatus est un plugin jQuery opensource permettant de modifier rapidement des status dans une liste d'objets.
Ce plugin a les caractéristiques suivantes :
- La présentation est gérée par le plugin
- Une requête ajax peut être envoyée lors de la sélection d'un nouveau status
- Tous les comportements du plugins sont modifiables par des events (tous "default preventable")
- Le plugin a des tests unitaires (avec qunit)
- Le plugin est en intégration continue dans travis-ci (avec PhantomJS)
Créer une autorité de certification SSL
Ce tutoriel explique comment :
- Générer sa propre authorité de certification
- Créer des certificats https signés par cette autorité de certification
- Configurer apache pour l'HTTPS
- Importer le certificat de notre autorité de certification dans notre navigateur
Objectif :
Nous avons mis ce système en place pour sécuriser une communication entre une application mobile Android et une API Rest. On garantit ainsi que personne ne peut se mettre en man in the middle entre l'application et l'API.
Human Talks : Halte aux bonnes pratiques !
Présentation par Philippe Le Van aux Human Talks de Grenoble le 12 mars 2013.
"Halte aux bonnes pratiques" est une ode au pragmatisme dans le développement.
KitpagesChainBundle : Un système de workflow basique
Le bundle KitpagesChainBundle fourni un système simple et efficace d'enchaînement de traitements que l'on peut contrôler à l'aide d'évènements.
Associé à ce bundle on peut retrouver un certain nombre de traitements de base directement intégrables dans le bundle KitpagesCommonStepBundle.
Ce bundle peut servir de brique de base pour coder un système de workflow complexe si on le souhaite.
Dossier: phpunit, travis-ci, sf2
Notre dossier sur les tests unitaires d'un bundle symfony2 avec PHPUnit a été mis à jour pour prendre en compte les évolutions de symfony 2.1 :
- Utilisation de composer
- Corrections pour s'adapter aux évolutions de doctrine 2.2 et sf 2.1
- Simplification du process général
Tuto : html5 et localStorage
Nous présentons un petit bloc note qui enregistre tout ce que vous tapez dans votre navigateur.
Vous pouvez vous en servir comme petit bloc-note toujours accessible (les informations ne nous sont pas envoyées).
Nous expliquons en suite en bas de la page comment marche ce bloc note techniquement.
Tuto : exemple avec Y.App
Un exemple d'utilisation de Y.App avec progressive enhancement :
- Un site avec des transitions animées entre chaque page
- Un site parfaitement fonctionnel sans javascript (mais du coup on perd les animations)
- Avec Javascript activé, on a une "single page webapp" avec les URL qui restent valides grace au routeur de Y.App
Tuto : language switcher
Merci à Boris Morel pour la rédaction de 2 tutoriaux sur ce site :
- Un sélecteur de language "full twig"
- Un sélecteur de language avec twig et un controlleur pour récupérer la liste des langues en base
Tuto YUI mis à jour
Les tutos YUI qui commençaient à dater un peu ont tous été mis à jour.
- Les codes ont été corrigés ou simplifiés suivant les évolutions de YUI
- De nombreux liens cassés ont été corrigés
Tuto SOLR 4 / Solarium 3
Ce tutoriel de Kitpages indique comment mettre en place un moteur de recherche avec SOLR 4, Solarium 3 et PHP.
- SOLR 4 est un serveur de recherche codé en Java et basé sur Lucene
- Solarium 3 est une librairie PHP qui permet d'interroger SOLR
gc-conseil.fr, nouveau site
GC Conseil est un bureau d'études structures génie civil fondé en 2001. Ils interviennent dans les domaines des ouvrages hydrauliques, des remontées mécaniques, des ouvrages d'art et des bâtiments industriels.
Ce site est développé avec la technologie symfony 2
- La présentation de l'entreprise (gérée par le CMS Kitpages)
- Un extranet partenaire
- Une gestion électronique de document
Scripter du FTP
Un nouveau tuto Kitpages : quelques exemples de scripts qui automatisent des accès FTP :
- Envoi d'un fichier de backup sur un serveur FTP
- Rappatriement automatiques de fichiers depuis un FTP
- Rappatriement récursif de tout le contenu d'un serveur FTP
Sass, Compass, Symfony2 et assetic
Ce tutoriel indique les étapes nécessaires pour mettre en place SASS et Compass dans un projet Symfony2.
Revenons juste sur les technos mentionnées :
- SASS : Un language de style qui se compile pour obtenir des CSS. Il ajoute aux CSS natives des variables, une structure pour organiser ses CSS et des sortes de "fonctions" CSS.
- Compass : une bibliothèque de fonctions SASS
- Assetic : une librairie liée à Symfony2 qui permet de facilement gérer les compilations de SASS en CSS en développement et en production
Dossier tests unitaires sf2
Ce long dossier permet de mettre en place des tests unitaire et un système d'intégration continue pour un bundle symfony2.
Le dossier suit les étapes suivantes :
- La mise en place de l'environnement de tests
- La mise en place de travis-ci pour l'intégration continue
- Un test simple d'exemple
- Un test complexe avec Doctrine2
- La méthode d'évaluation du taux de couverture
Kitpages CMS v2.0
Le Kitpages CMS basé sur Symfony2 sort en version 2.
Au programme :
- Une démo en ligne est disponible
- Vous pouvez voir une vidéo de présentation
- Une documentation valable (README.md et Resources/doc)
- Le CMS peut déployer les médias (images, vidéos) sur Amazon S3
- On peut redimensionner les images lors de l'édition d'un bloc
- La création de pages directement depuis la navigation
- De nombreuses améliorations ergonomiques
- ...
Vous pouvez consulter la documentation ou télécharger le bundle sur GitHub : https://github.com/kitpages/KitpagesCmsBundle
DataGrid Bundle en v1.1
Le KitpagesDataGridBundle passe en version 1.1.
Au programme :
- Un système d'évènement pour modifier le comportement du DataGrid
- Une documentation beaucoup plus complète
- Le paginator utilisable indépendamment
- Fonctionne avec des requêtes de queryBuilder plus complexes
- Plus extensibles
https://github.com/kitpages/KitpagesDataGridBundle
Un extrait du readme :
Features ======== * Display a Data Grid from a Doctrine 2 Query Builder * Automatic filter * Sorting on columns * Easy to configure * Easy to extend * Documented (in this readme for basics and in Resources/doc for advanced topics) * Paginator can be used as a standalone component * Change of DataGrid behaviour with events * Change of DataGrid presentation with twig embeds
Micro-tuto : font-face
Un tuto bêtement pratique sans aucune théorie pour mettre des fonts esothériques sur son site.
Je vous propose 2 méthodes :
- Vous utilisez une police de caractère dont vous avez le fichier (ttf, ...)
- Vous utilisez une font Google
Notons que ça marche dès IE6. L'antialiasling (lissage des polices) est différent suivant les navigateurs et les systèmes d'exploitation, cela dit pour des fonts de taille raisonnable, ça passe à peu près partout.
Kitpages DataGrid Bundle
Le DataGrid Bundle de Kitpages permet d'afficher simplement dans un tableau des données issues d'une base de données.
Ce bundle sera principalement utilisé dans les administrations pour afficher très rapidement une liste de résultats avec un paginateur, des systèmes de filtres, de tris,...
Il y a de nombreux bundles de datagrid sur GitHub. Celui là a l'avantage d'être très simple à étendre pour modifier la présentation, ajouter des colonnes,...
Il est téléchargeable sur github à l'adresse : https://github.com/kitpages/KitpagesDataGridBundle
Kitpages FileSystem Bundle
le KitpagesFileSystemBundle est une couche d'abstraction vers des systèmes de fichiers (FTP, Amazon S3, local,...).
Un peu comme la librairie Gaufrette de knplabs, on peu copier, supprimer, lire des fichiers enregistré à des endroits différents de façon transparente pour l'utilisateur du bundle.
Ce bundle est notamment utilisé par le CMS Kitpages pour déployer indifféremment ses fichiers statiques sur Amazon S3 ou en local.
Vous pouvez le télécharger sur Github: https://github.com/kitpages/KitpagesFileSystemBundle
Tuto : accessibilité web
Nous avons rédigé un document présentant une vision très synthétiques des principes et normes qui régissent l'accessibilité web en France.
L'objectif de ce tutoriel est de débrouissailler le chemin pour que le lecteur puisse ensuite progresser seul.
kitSlideshow, plugin JQuery
Un plugin simple pour afficher des contenus sous forme de contenus (div) qui défilent dans une page HTML.
Micro-tuto : indispo apache
Un micro-tutorial pour mettre en place une page d'indisponibilité avec Apache et PHP
Tuto : copier avec ssh
Plusieurs façons de copier des répertoires avec SSH avec des caractéristiques différentes.
Ce tutoriel sert principalement d'aide mémoire syntaxique pour 3 méthodes de copies différentes:
- avec scp
- avec tar et ssh
- avec rsync et ssh
ShopBundle en v1.0.0
Le KitpagesShopBundle passe en version stable. Ce bundle assure les fonctions suivantes :
- Cart management
- Order management (including free orders)
- invoice creation
- vat management
- email sending
- payment management with the KitanoPaymentBundle
- administration for orders / invoice
- some discount process
- statistics
Ce bundle permet d'apporter des fonctions de vente à un site existant. Le catalogue n'est pas compris dans le bundle. C'est un bundle à part que vous devrez coder vous même.
PaymentBundle en v2.0.0
Le KitanoPaymentBundle, fruit de la collaboration entre Kitpages et Anonymation est un bundle opensource d'intégration de systèmes de paiement.
Suite à un refactoring important, il passe en version v2.0.0. La configuration est plus simple et plus conforme à l'architecture standard de symfony2.
On peut voir un schéma d'utilisation à l'intérieur de la documentation du KitpagesShopBundle.
CMS version 1.3.0
La version 1.3.0 du CMS Kitpages est sortie.
Les nouveautés importantes :
- La création de page et la modification de l'arborescence du site directement depuis les barres de navigation du site
- L'arbre des pages est maintenant extensible et retient l'état de la page d'arborescence
Sinon beaucoup de petites simplifications et de corrections de bugs
Vous pouvez voir l'ensemble des modifications dans le fichier VERSIONS.md sur Github
Bundle de commentaires
Le KitpagesUserGeneratedBundle est un bundle destiné à ajouter des commentaires, ratings, like,...
Pour l'instant seuls les commentaires sont mis en place.
MicroTuto : encoder dans une URL
Ce tutoriel donne un exemple d'encodage d'une chaîne de caractère quelconque pour qu'elle soit correctement encodée dans une URL.
KitanoPaymentBundle
Kitpages et Anonymation sont partenaires pour créer des bundles opensource sous le nom Kitano.
Le KitanoPaymentBundle et les bundles associés sont les 1ers bundles publiés sous ce nom.
Ils couvrent notamment les systèmes suivants :
- SIPS (Elysnet, Mercanet, Citelis,...)
- CMCIC
KitpagesShopBundle
le KitpagesShopBundle est une boutique en ligne générique en Symfony2. Les principales fonctionnalités sont les suivantes :
- Gestion d'un panier
- Création des commandes
- Parcours d'achat
- Interaction avec le bundle de paiement KitanoPaymentBundle
- Edition des factures
- Statistiques et jolis graphiques
- Administration des commandes
A noter que le catalogue de produit n'est pas compris dans ce bundle. Ce bundle peut très bien permettre de vendre les produits d'un catalogue pré-existant.
Sortie du Survêtement Vert !
Le site http://www.lesurvetementvert.com vient de sortir !
Vous êtes fan de batterie ? vous cherchez des beats sympa ? écoutez et regardez les beats du survêtement vert, et achetez des version rallenties des musiques d'accompagnement, les tablatures / partitions,...
KitpagesCacheControlBundle
KitpagesCacheControlBundle est un bundle qui envoie les headers nécessaires pour supprimer le cache navigateur sur un site développé en Symfony2
Tutoriel datetime Mysql et PHP
C'est un micro-tutoriel sur la façon de communiquer entre un datetime mysql et une date en PHP.
Nous verrons que la situation n'est pas tout à fait identique selon qu'on est en PHP 5.2 ou 5.3.
Tutoriaux HTTPS et chiffrement
2 nouveaux tutoriaux viennent d'arriver sur le site kitpages.fr :
- Les principes du chiffrement symétriques et assymétriques
- Les principes de HTTPS
CMS version 1.2.0
Voilà le détail des évolutions :
v1.2.0 ====== NEW features * action render for 404 page for easing navigation for admins * canonical URL for zones and block * title for zones * block renderer : display anchors for anchor links inside a zone * pageId displayed in advanced mode in the tree (helps to change parentId if you want to move a page) * add a filter on RTE editors to remove formats included by word for example * add a breadcrumb system DEBUG * add forceUrl and linkUrl in navPublish and use a published version of forceUrl * add an error message on a duplication of slug * add an error message on a duplication of the forceUrl * modify constant afterBlockPublish in KitpagesCmsEvents HOW TO MIGRATE -------------- you need to run : ./app/console doctrine:schema:update --force and click on "publish all pages and navigation" in the tree page
Moteur de recherche
Le site Kitpages.fr a un nouveau moteur de recherché basé sur la technologie SOLR.
Ce moteur de recherche est un exemple de d'utilisation des évènements du CMS Kitpages. Le moteur de recherche est un bundle symfony2 qui écoute des évènements de publication du CmsBundle et qui indexe (ou efface) les contenus en fonction des évènements.
Cela montre un moyen d'étendre les fonctionnalités du CMS sans modifier le code du CMS.
Notons au passage que SOLR est un projet d'une qualité absolument remarquable dans le monde de l'opensource.
Refonte du site Ideol
Ideol est une entreprise innovante dans le secteur des Eoliennes offshore. Ils travaillent notamment sur des éoliennes flottantes qui viendraient renforcer ou même remplacer les éoliennes offshore actuelles.
Nous avons développé le site http://www.ideol-offshore.com en s'appuyant sur les technologies suivantes :
- Le CMS Kitpages
- Symfony2
- un hébergement Amazon AWS
- un montage HTML5 / CSS3
- des vidéos HTML5
CMS version 1.1.0
La version 1.1.0 du CMS Kitpages vient de sortir.
Je vous laisse consulter ci-dessus la liste des modifications
v1.1.0 ------ NEW features * add page parameters inheritance * add modal progress bar on publish all to prevent multiple publish all by the user * template and form reorganisation to ease code understanding * remove dependency with KitpagesRedirectBundle * a configuration "renderer_twig_main" to change the layout.html.twig which adds cms toolbar * added some technical values in pagePublish * added indicators on needed publication in the tree view and in edition page * Breadcrumb management * added a big "Publish all pages and navigation" button REFACTORING * directory reorganization for templates CORRECTED * remove unused date picker (and we miss informations on license) * correction on the navigation when the current page was outsite the displayed navigation * corrections on the flags displayed when the publication is needed (navigation and page) * pageData was not transmitted to the twig layout * update cms css for less intrusive stylesheets on the real site design
Nouveau site www.kitpages.fr
A l'occasion de la sortie de notre nouveau CMS, nous avons décidé de refaire le site www.kitpages.fr.
Sortie du CMS Kitpages
La première version stable du CMS de Kitpages vient de sortir.
Le site www.kitpages.fr a été développé à l'aide de ce CMS.