Bilendi Technology - Mot-clé - développementDES TECHNOLOGIES INNOVANTES DÉVELOPPÉES EN INTERNE ET CONÇUES POUR RÉPONDRE AUX BESOINS DE NOS CLIENTS ET PARTENAIRES2022-11-23T08:40:51+01:00Bilendi Technologyurn:md5:449d083a7a76e29cf1c2691e99df25f8DotclearPratiques agiles, coaching et amélioration continueurn:md5:d30ae5a3b432795cc14f86b49349f4772021-03-04T10:52:00+01:002021-03-04T23:23:58+01:00franckDéveloppementagilecoachingdéveloppementredminescrumtrello<p>La croissance perpétuelle de la plateforme Bilendi, en terme de
marchés, de client, de leurs besoins... amène à l'intégration d'une
multitude de scénarios web différents, des nouvelles solutions et players
de la toile etc.</p>
<p>Le challenge pour la team dev de Bilendi est d'en absorber les
évolutions induites sur sa plateforme, en maintenant le niveau de qualité
de celle-ci (stabilité, performance, flexibilité, potentiel technologique etc.).</p> <p>Cette plateforme est gérée pour cela depuis pas mal d'années en
pratiques de développement agiles (via des outils comme <a href="https://www.redmine.org/">Redmine</a>, <a href="https://trello.com/fr">Trello</a>, <a href="https://www.journaldunet.fr/web-tech/guide-de-l-entreprise-digitale/1443836-sprint-definition-planning-review-retrospective-backlog/">les
sprint</a>, <a href="https://about.gitlab.com/">gitlab</a> ...), avec un
réel focus sur la capitalisation des retours d'expériences collectifs pour
l'amélioration continue de ces pratiques.<br /><em>NB : il n'y a ainsi pas
de "religion qualité" chez Bilendi : les pratiques dites actuelles, comme
<a href="https://fr.wikipedia.org/wiki/Scrum_(d%C3%A9veloppement)">Scrum</a>...
se combinent à de "bonnes vieilles pratiques", comme <a href="https://fr.wikipedia.org/wiki/Capability_Maturity_Model_Integration">CMMI</a>
par exemple, du moment qu'elles apportent une valeur ajoutée !</em></p>
<p>Dans cet article nous décrivons brièvement comment l'équipe s'est organisée
pour mutualiser la connaissance et les bonnes pratiques de la plateforme
dans un principe d'amélioration continue, et comment elle a mis en place
un mode coaching pour que ses membres puissent intégrer régulièrement les
nouvelles pratiques.</p>
<p>La réalisation des tickets de bug fix et/ou l'évolution d'un sprint est
divisée en différentes activités / phases :</p>
<ul>
<li>Analyse/Solution (atelier métier...)</li>
<li>Technical design (framework Symfony / JS ...)</li>
<li><a href="https://fr.wikipedia.org/wiki/Test_driven_development">TDD</a>
(Test Driven Developpment)</li>
<li>Code review / merge request process</li>
<li>Solution demo / End user training/validation</li>
<li>Déploiement automatisés multi-environnement / intégration
continue</li>
<li>Documentation / gestion et partage de connaissance</li>
</ul>
<p>L'équipe fait vivre un document qui recense les diverses pratiques à
valeur ajoutées, qui ont été expérimentées lors de ces phases telles que
:</p>
<ul>
<li>les pratiques assistées par des outils, d'analyse de l'historique de
tickets, de merge requests et/ou logs (comme <a href="https://www.elastic.co/fr/kibana">Kibana</a> par exemple pour
l'analyse de bugs ou encore le monitoring de volume d'activités de nos
divers sites, et/ou de la popularité de leur features etc.),</li>
<li>ou encore des outils de navigation / recherches dans les bases de
code git pour identifier efficacement les parties du code concernées (ou
impactées) par des évolutions,</li>
<li>la gestion de guidelines d'implémentations sur les frameworks majeurs de la plateforme, via des collèges animés par des membres
certifiés,</li>
<li>l'intégration collégiale d'IDE dans les phases de codage (phpstorm
et/ou vim plugins ...),</li>
<li>l'intégration d'outils de tests automatisés et tests coverages (phpunit,
corbertura...) => un sujet majeur de la Team Dev,</li>
<li>des recos de bonnes pratiques dans les échanges/démo avec les end
users (s'approprier le vocabulaire métier...),</li>
<li>l'intégration des pratiques standardisées de développement
collaboratif / gestion de branches et version (gestion de release
candidate / version compatible <a href="https://semver.org/lang/fr/">semver</a>),</li>
<li>l'intégration de pipelines automatisés de déploiement multi-environnement intégrant des test d'intégration continue,</li>
<li>l'intégration de solutions et processus dédiés à la gestion des
contenus de connaissance induit par l'activité de la plateforme, et
permettant la mise à niveau continue.</li>
</ul>
<p>La mutualisation de pratiques sur ces divers thèmes se fait en petit
atelier entre divers membres de la team et animés par les dev leads.</p>
<p>Chaque membre de la team peut ainsi contribuer à celles-ci selon ses
propres retour d'expérience et centres d'intérêts.</p>
<p>Quant à la mise à niveau de l'ensemble de l'équipe sur ces pratiques,
elle est directement intégrée dans le processus agile de sprint, lors
desquels certains tickets sont sélectionnés pour s'approprier certaines
pratiques, en les appliquant avec l'assistance d'un coach référant sur
celles-ci.</p>Bundle Symfony DevExpressurn:md5:a7b6ddee2b71fa44b6b104a7cc6665852021-03-01T11:22:00+01:002021-03-01T11:24:28+01:00Hervé PiedvacheDéveloppementbundledevexpressdevextremedéveloppementsymfony<p>DevExpress produit une suite de composants JavaScript HTML5 pour un développement Web réactif appelée DevExtreme.</p>
<p>D'Angular et React à ASP.NET Core ou Vue, DevExtreme comprend une collection complète de widgets d'interface utilisateur haute performance et réactifs à utiliser dans les applications Web traditionnelles et mobiles de nouvelle génération.
La suite est livrée avec une grille de données complète, des widgets graphiques interactifs, des éditeurs de données et bien plus encore.
Avec DevExtreme, vous offrirez des expériences utilisateur incroyables aux navigateurs Web modernes d'aujourd'hui.
DevExpress est un ensemble de librairies dont vous pouvez avoir le détail précis, avec des démonstrations de toutes les fonctionnalités directement sur le site de <a href="https://js.devexpress.com/" hreflang="en" title="DevExtreme">DevExpress</a>.</p>
<p>Et non nous n'avons pas de part dans DevExpress, mais nous l'utilisons au quotidien et nous avons fait un petit développement que nous vous proposons de partager sous la forme d'un bundle Symfony.</p> <p>Ce bundle est disponible publiquement sur <a href="https://github.com/Elma/DevExpressBundle" hreflang="en" title="Github">notre espace Github</a>.</p>
<p>Et comme le précise immédiatement son introduction :</p>
<ul>
<li>Ce bundle n'est pas un bundle officiel de l'équipe DevExpress.</li>
<li>Ce bundle n'inclut aucun fichier lié aux bibliothèques DevExpress.</li>
<li>Cet ensemble fournit un pont simple (et incomplet) entre les widgets et la doctrine DevExpressJs.</li>
<li>Cet ensemble est un WIP et les relations publiques sont les bienvenues.</li>
</ul>
<p>Actuellement, seul un pont dxDataGrid est fourni.</p>
<p>Je ne vais pas reprendre la documentation, et les examples dans cet article, il est là juste pour vous indiquer l'existence du Bundle Symfony qui pourrait assurément servir à d'autres que l'équipe de Bilendi Technology. Et puis pourquoi pas participer à son amélioration ou à ses évolutions sur d'autres composants DevExtreme.</p>Elma ouvre un pôle de développement à Grenobleurn:md5:3af54c5a8579514949e44f9bc4b40b882014-02-12T12:06:00+01:002022-11-21T16:06:20+01:00Hervé PiedvacheDéveloppementdéveloppementgrenobleéquipe<p>Le nouveau centre de développement a pour mission d'étendre et de renforcer l'ensemble des gammes de produits du Groupe Maximiles.</p> <p>L'ouverture de ce centre s'inscrit dans la continuité des évolutions d'expansion du Groupe Maximiles. Ce nouveau centre travaillera en étroite collaboration avec les équipes de développement Parisienne. Il accueille, à son ouverture, une équipe d'ingénieurs apportant plus de 25 ans d'expérience combinée autour du développement web principalement.
Situé à proximité d'universités et d'écoles d'ingénieurs de renommées mondiales, le nouveau centre de développement permettra à des développeurs talentueux de profiter de l'attractivité, de la qualité de vie et de la richesse de l'écosystème de la ville de Grenoble.</p>PHP : N'abusez pas de POO!urn:md5:d0649619c330cd2fc8aa803b2fee294d2011-04-06T10:02:00+02:002020-02-19T10:30:31+01:00Hervé PiedvacheDéveloppementdéveloppementphppoozend framework <p><img src="https://bilendi.tech/public/code_binaire.jpg" alt="Code" style="float:right; margin: 0 0 1em 1em;" title="Code, avr. 2011" height="240" width="250" />Qui aujourd'hui peut se permettre de faire du développement en PHP sans passer par la Programmation Orienté Object (POO pour les intimes) ?
Personne ... mais attention, programmer en POO c'est bien, mais tous les objets ne sont pas aussi efficaces que les fonctions natives de PHP.</p>
<p>Guillaume Luchet, Directeur de la Recherche et du Développement chez Elma, nous propose un rapide comparatif entre le <a href="https://zendframework.com/" hreflang="en" title="Zend Framework">Zend Framework</a> et les fonctions natives sur <a href="https://geelweb.org/fonctions-natives-vs-objets/" hreflang="fr" title="Fonctions natives vs Objets">son blog</a>.</p>PhoneGap, pour développer vos applications mobilesurn:md5:234f47f64a681faf9b4530e507fad5402010-02-10T23:24:00+01:002020-02-19T10:27:22+01:00eViasDéveloppementdéveloppementmobileopen sourcephonegap<p>Développer des applications pour smartphone sans avoir besoin de s'imprégner du SDK de chaque fabriquant ... à§a vous tente ?</p> <p><ins>PhoneGap qu'est-ce c'est ?</ins></p>
<p>PhoneGap est un framework JavaScript qui met à la disposition de tout développeur des fonctionnalités propres à certains smartphones telles la géolocalisation, l'accès aux contacts SIM, l'utilisation du vibreur ou encore
l'accéléromètre de l'iPhone.</p>
<p>Ce framework séduit par sa simplicité d'utilisation ainsi que son extensibilité. Tout développeur Web peut ainsi développer sa propre application iPhone, sans pour autant apprendre l'Objective-C.</p>
<p>L'intéràªt majeur de cette "librairie" est de permettre le développement, relativement rapide, d'une base d'applications réutilisables sur toute plateforme mobile. Les fonctionnalités à proprement parler sont bien sà»r à implémenter séparément pour chaque plateforme. (iPhone OS, Android, Maemo, etc.).</p>
<p>Le fait de rendre possible l'utilisation de langages comme le HTML combinés à du CSS et du Javascript pour construire une application mobile, qui plus est complète, est, pour moi, très prometteur étant donné le boost en terme de productivité. Simple, extensible, open source. N'est-ce pas là la mixture parfaite ?!</p>
<p>Pour en venir à la plateforme de test que propose PhoneGap sur son site web, je tiens juste à préciser qu'il ne faut pas oublier que votre application est exécutée dans un émulateur qui lui est lancé sur un PC ou un Mac.
Malheureusement, nos smartphones ne sont pas équipés de matériaux équivalents, ainsi les résultats en terme de performances constatés avec PhoneGap ne seront pas toujours comparables aux résultats produits à partir des plateformes visées tels l'iPhone, le BlackBerry ou encore le HTC Hero.</p>
<p>Pour plus d'informations, je vous conseille vivement <a href="https://phonegap.pbworks.com">le wiki de PhoneGap</a> qui regorge d'exemples et de documentations ou encore <a href="https://phonegap.com/projects">la page de projets</a> qui présente un bref listing des différents projets développés à l'aide de PhoneGap .</p>Développement sur mesureurn:md5:5f8a51f5565396f10f3bbe917b220e901998-03-29T14:50:00+02:002019-11-05T11:17:47+01:00Hervé PiedvacheDéveloppementcdéveloppementperlphppostgresqlpython<p><img src="https://bilendi.tech/public/code-source.png" alt="Code source" title="Code source, fév. 2010" height="210" width="320" /><br /></p>
<p>Pour répondre aux besoins d'une entreprise, sur un produit, un concept, une organisation informatisée. Vous avez un besoin qui, aujourd'hui, n'est pas satisfait par un logiciel commercial. Votre activité nécessite des paramètres spéciaux de calculs, ou d'organisation informatique.<br /></p>
<p><strong>Nous sommes là pour vous apporter des solutions.</strong></p> <p>Nos équipes sont à màªme de répondre à vos besoins au travers de logiciels spécifiques pour Linux, Mac OS X ou Windows. Nous pouvons rapidement et efficacement répondre à vos besoins, que ce soit de commerce électronique, des applications business-to-business, des bases de données, des systèmes connectés au Web etc.<br /></p>
<p><strong>Domaines de compétences</strong><br /></p>
<p><em>Langage de développement :</em>
C, C++, Pascal, Perl, PHP, Python</p>
<p><em>Base de données :</em>
PostgreSQL, Oracle</p>
<p><strong>Applications de développements sur mesure :</strong></p>
<ul>
<li>Gestion de base de données relationnelles</li>
<li>Internet / Intranet</li>
<li>Applications graphiques et mathématiques distinctes</li>
<li>Traitement de l'image et du signal</li>
<li>Application de vidéo surveillance</li>
<li>Gestion d'entreprise (devis, comptabilité, gestion de stocks, de livraison etc.)</li>
<li>Gestion des commandes en salle pour les cafés-restaurants</li>
</ul>
<p><strong>Exemple de cas réel :</strong></p>
<p>Eurexim
Société commercialisant des produits de sécurité pour les foyers de chauffage.</p>
<p>Leurs besoins :
Traiter la moyenne des 5000 formulaires d'assurance, reà§us quotidiennement. Et permettre une exploitation de cette base de clients pour réaliser des opérations de VPC.</p>
<p>Nos solutions :</p>
<ul>
<li>Un logiciel sur-mesure s'appuyant sur un moteur de base de données Oracle, qui importe les données traitées par un système de reconnaissance optique.</li>
<li>Analyse avancée des doublons potentiels par rapport aux fichiers existant.</li>
<li>àmission d'accusés de réception automatisée.</li>
<li>Gestion de publipostages automatiques selon les différents critères d'achats des clients.</li>
<li>Traitement des commandes en VPC, assistance logistique pour les envois, liaison comptable automatisée avec la gamme Sage, préparation intégrale des données postales.</li>
</ul>
<p><strong>Nos références</strong>
Comité Miss France, ToxLab, SCAP, Maximiles Services, RASG, Résidence Club de Neuilly, Acurio, Eurexim, QuickVidéo</p>
<p>Prenez <a href="https://bilendi.tech/index.php?contact">contact</a> avec nous.</p>