tag:linuxfr.org,2005:/tags/symfony/publicLinuxFr.org : les contenus étiquetés avec « symfony »2023-01-09T09:52:55+01:00/favicon.pngtag:linuxfr.org,2005:News/413472023-01-09T09:52:55+01:002023-01-09T09:52:55+01:00Sortie de PrestaShop 8.0.1Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>La version 8.0.1 de PrestaShop <a href="https://build.prestashop-project.org/news/2023/prestashop-8-0-1-maintenance-release/">vient d’être publiée</a>, la première version de correctifs pour PrestaShop 8.</p>
<p>PrestaShop est un système de gestion de contenu (CMS) libre français de commerce en ligne, développé en PHP + MySQL et placé sous licence <a href="https://opensource.org/licenses/OSL-3.0">OSL v3</a>.</p>
<p>La version 8.0.0 publiée en octobre 2022 est la première version majeure du projet depuis 2016, l’occasion de mettre à jour, simplifier et réorganiser de nombreux composants internes.</p>
<p>Les <a href="https://www.prestashop-project.org/releases/prestashop80/">nouveautés</a> de cette version sont très nombreuses, on peut mentionner le support de PHP 8.0 et PHP 8.1, le support du format d’image <a href="https://fr.wikipedia.org/wiki/Scalable_Vector_Graphics">SVG</a>, l’usage de <a href="https://blog.dashlane.com/fr/le-nouveau-guide-zxcvbn-de-dashlane-vous-aide-a-creer-des-mots-de-passe-maitre-plus-complexes-et-vous-evite-les-prises-de-tete/">zxcvbn</a> pour sécuriser les mots de passe, une nouvelle page dédiée à la sécurité…</p>
<p>La liste complète des nouveautés est disponible dans les <a href="https://build.prestashop-project.org/news/2022/prestashop-8-0-0-available/">notes de publication</a> (en anglais).</p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.prestashop-project.org/" hreflang="en" href="https://linuxfr.org/redirect/111558">Site du projet PrestaShop</a></li><li>lien nᵒ 2 : <a title="https://build.prestashop-project.org/news/2022/prestashop-8-0-0-available/" hreflang="en" href="https://linuxfr.org/redirect/111559">Notes de publication de la version 8.0.0</a></li><li>lien nᵒ 3 : <a title="https://build.prestashop-project.org/news/2023/prestashop-8-0-1-maintenance-release/" hreflang="en" href="https://linuxfr.org/redirect/111560">Notes de publication de la version 8.0.1</a></li></ul><div></div><div><a href="https://linuxfr.org/news/sortie-de-prestashop-8-0-1.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129916/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/sortie-de-prestashop-8-0-1#comments">ouvrir dans le navigateur</a>
</p>
Mathieu FermentYsabeau 🧶 🧦https://linuxfr.org/nodes/129916/comments.atomtag:linuxfr.org,2005:News/402082020-12-17T09:44:32+01:002020-12-17T12:50:08+01:00Sortie de PrestaShop 1.7.7.0Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Après presque un an de développement, PrestaShop vient de sortir la version 1.7.7 de son système de gestion de contenu (CMS) de commerce en ligne.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6173736574732e70726573746173686f70322e636f6d2f73697465732f64656661756c742f66696c65732f696d675f72696768745f6865616465725f6f7074696d697a65645f315f355f312e706e67/img_right_header_optimized_1_5_1.png" alt="Créer une boutique en ligne" title="Source : https://assets.prestashop2.com/sites/default/files/img_right_header_optimized_1_5_1.png"></p>
<p>Cette version est principalement tournée vers des améliorations pour les utilisateurs marchands ; les pages du Back Office dédiées à l’administration des commandes ont été refaites entièrement et repensées pour faciliter la tâche au marchand.</p>
<p>D’autres fonctionnalités ont été également livrées : la création et la gestion de devises non officielles, une recherche textuelle plus intelligente,etc., ainsi qu’un gros lot de corrections de bogues (160) et la compatibilité avec <a href="https://fr.wikipedia.org/wiki/PHP">PHP</a> 7.3 (il était temps !).</p>
<p>La liste complète des nouveautés est disponible dans les <a href="https://build.prestashop.com/news/prestashop-1-7-7-0-available/">notes de publication</a> (en anglais).</p>
<p>La communauté PrestaShop est très active, aussi bien sur le dépôt <a href="https://github.com/PrestaShop/PrestaShop/">GitHub</a>, qui sert également au suivi des bogues, que sur le <a href="https://www.prestashop.com/forums/">forum</a> ou le canal <a href="https://github.com/PrestaShop/open-source/blob/master/slack/readme.md">Slack</a>. N’hésitez pas à venir échanger avec nos communautés de marchands ou de développeurs !</p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.prestashop.com/fr" hreflang="fr" href="https://linuxfr.org/redirect/107523">PrestaShop</a></li><li>lien nᵒ 2 : <a title="https://build.prestashop.com/news/prestashop-1-7-7-0-available/" hreflang="en" href="https://linuxfr.org/redirect/107524">Notes de publication de la version 1.7.7.0</a></li><li>lien nᵒ 3 : <a title="https://www.prestashop.com/fr/telecharger" hreflang="fr" href="https://linuxfr.org/redirect/107525">Téléchargement</a></li></ul><div></div><div><a href="https://linuxfr.org/news/sortie-de-prestashop-1-7-7-0.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/122593/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/sortie-de-prestashop-1-7-7-0#comments">ouvrir dans le navigateur</a>
</p>
Mathieu FermentXavier TeyssierDavy DefaudYsabeau 🧶 🧦palm123https://linuxfr.org/nodes/122593/comments.atomtag:linuxfr.org,2005:Diary/391952020-06-13T14:44:49+02:002020-06-13T14:44:49+02:00Reciphpes! Gestion et indexation de recettes sous SymfonyLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Moules,</p>
<p>Après avoir cherché longtemps un logiciel qui permettrait <a href="//linuxfr.org/forums/general-cherche-logiciel/posts/cherche-gestionnaire-de-contenu-simple-mais-pas-tant-que-ca">de répondre à mon besoin détaillé il y a quelques jours ici-même</a> - sans succès - j'ai décidé de prendre ça pour une bonne raison de me mettre un peu à niveau sur Symfony. Je fais du Magento au quotidien pour manger, le changement pique un peu.</p>
<p>Quel était ce besoin jeune padawan qui n'a pas suivi le lien ? Je te le présente.</p>
<blockquote>
<p>Afin de faire face à l'accumulation des livres de recettes et la difficulté croissante d'y retrouver "cette recette tu sais, avec du Maroilles et du pain d'épices, on en avait fait au nouvel an y'a 2 ans, zut elle était où". Bref.<br>
Afin de faciliter la recherche et l'organisation de ces recettes, quoi de mieux que l'informatique pour nous y aider ? (c'est une question rhétorique)</p>
<p>L'idée était donc d'avoir un logiciel qui permet <strong>d'indexer rapidement des recettes existantes avec les informations principales</strong> (nom, ingrédients principaux, et surtout emplacement où la retrouver) de sorte qu'une recherche permette de ressortir facilement et rapidement un ensemble de recettes par mot-clé ou ingrédient.</p>
</blockquote>
<p>Non sans mal, je suis arrivé à un stade où l'application est utilisable, et utilisée.</p>
<p>Comme <a href="//linuxfr.org/forums/general-cherche-logiciel/posts/cherche-gestionnaire-de-contenu-simple-mais-pas-tant-que-ca#comment-1812153">il m'a été encouragé à faire un retour sur la solution que j'aurais trouvée</a>, hop, voici.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f6769746875622e636f6d2f6e616e6177656c2f7265636970687065732f626c6f622f6d61737465722f6173736574732f696d616765732f6c6f676f5f323030702e706e673f7261773d74727565/logo_200p.png?raw=true" alt="Reciphpes!" title="Source : https://github.com/nanawel/reciphpes/blob/master/assets/images/logo_200p.png?raw=true"></p>
<h2 id="toc-reciphpes">Reciphpes!</h2>
<p>Le dépôt est sur Github : <a href="https://github.com/nanawel/reciphpes">https://github.com/nanawel/reciphpes</a><br>
et j'ai même poussé jusqu'à faire une image Docker : <a href="https://hub.docker.com/r/nanawel/reciphpes">https://hub.docker.com/r/nanawel/reciphpes</a> (ok forcément j'en avais besoin de toute façon)</p>
<p>Actuellement les fonctionnalités principales sont :</p>
<ul>
<li>la gestion (CRUD) de <strong>recettes</strong> avec les champs suivants <sup id="fnref1"><a href="#fn1">1</a></sup> :
<ul>
<li>nom</li>
<li>tags</li>
<li>emplacement</li>
<li>détails de l'emplacement</li>
<li>saison</li>
<li>ingrédients</li>
<li>instructions</li>
</ul>
</li>
<li>la gestion (CRUD) des ingrédients</li>
<li>la gestion (CRUD) des emplacements</li>
<li>la <strong>saisie "en masse" de recettes</strong> via un formulaire simplifié</li>
<li>l'import de recettes via CSV</li>
<li>la <strong>recherche via mot-clé, tag ou ingrédient</strong>
</li>
</ul>
<p>Il reste plusieurs autres fonctionnalités que je souhaite mettre en place mais la base est là, donc la partie "moins fun" de la saisie a commencé de mon côté et je fais une pause sur le dev.</p>
<p>Comme je suis noob sur Symfony, n'hésitez pas à me remonter bugs et autres optimisations possibles. De même, les <a href="https://github.com/nanawel/reciphpes/issues">issues Github</a> sont dispo pour toute idée de nouvelle fonctionnalité.</p>
<div class="footnotes">
<hr>
<ol>
<li id="fn1">
<p>Il manque encore des champs évidents comme le temps de préparation, de cuisson, le nombre de personnes, le budget, etc. Ils arriveront dans un second temps. <a href="#fnref1">↩</a></p>
</li>
</ol>
</div>
<div><a href="https://linuxfr.org/users/nanawel/journaux/reciphpes-gestion-et-indexation-de-recettes-sous-symfony.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/120776/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/nanawel/journaux/reciphpes-gestion-et-indexation-de-recettes-sous-symfony#comments">ouvrir dans le navigateur</a>
</p>
Nanawelhttps://linuxfr.org/nodes/120776/comments.atomtag:linuxfr.org,2005:Post/411652020-05-26T14:08:31+02:002020-05-26T14:08:31+02:00Développeuses ou développeurs - PHP Symfony - confirmés - Angers & Télétravail<p>Bonjour à tous,<br>
on commence à voir le bout du tunnel du confinement, on relance le recrutement :)</p>
<p>Ma boite, Empreinte Digitale, une structure collaborative en SCOP SA, cherche des personnes pour enrichir le pôle développement/production sur du php symfony. Apporter de nouvelles idées et expériences.</p>
<p>L'entreprise a 26 Ans, on est environ 47 salariés et on est passé en SCOP en janvier.<br>
On est membre de l'April.</p>
<p>Nous n'utilisons et ne produisons que du logiciel libre ou a minima opensource (essentiellement php symfony pour le back), on ne contribue surement pas assez (mais si vous voulez venir motiver les devs à diffuser leur code, ça fait une raison de plus pour vous accueillir).</p>
<p>Nous suivons des méthodes agiles depuis 2012 et les développeurs travaillent sur plusieurs projets en parallèle.<br>
Notre code est géré sur des dépôts Git via une instance privée Gitlab. Nous fonctionnons principalement en merge requests, et de plus en plus de tâches sont automatisées avec Gitlab CI.<br>
Vous travaillerez sur la distribution Linux de votre choix avec votre éditeur favori (SublimeText, PHPStorm, VIM, NetBeans…).<br>
Actuellement, Symfony (3 et 4), MariaDB, React/Redux et Elasticsearch sont utilisés sur la plupart des projets. Nous avons également des produits plus anciens, notamment notre progiciel Ligeo Archives, sur des technologies comme CakePHP.<br>
On s'intéresse aussi aux autres solutions, par exemple drupal.</p>
<p>Côté Symfony, nous utilisons régulièrement Sonata Admin Bundle. Côté React, nous travaillons avec un boilerplate maison qu’on améliore régulièrement : en ce moment, on travaille particulièrement sur le code-splitting avec Webpack 2.</p>
<p>On est très branchés a11y et opquast.</p>
<p>On a des gros projets sur plusieurs années en interne, mais on fait aussi de la R&D, et vous pourrez venir avec vos idées et propositions, c'est une SCOP, tout se discute, il y a du temps de production prévu pour l'expérimentation.</p>
<p>L'infra est gérée en interne avec du docker / k8s, proxmox, ceph etc… par des supers barbus (dont moi).<br>
Il y a aussi une véritable équipe de testeurs qui se feront un plaisir de vous renvoyer des tickets !</p>
<p>Dans la boite, le savoir être est aussi important que le savoir faire, Scop oblige, donc si vous venez c'est aussi pour participer à l'aventure coopérative ;)</p>
<p>Si vous souhaitez venir à deux ou trois amis, comparses, teams, on est ouvert à discussion, il n'y a pas qu'un seul poste :)</p>
<p>Fourchette de salaire indicative entre 35k et 42k € suivant compétences.</p>
<p>Télétravail 2 jours par semaine pour la plupart des devs pour le moment, mais suite au confinement, les limites sont en train de sauter…</p>
<p>N'hésitez pas à m'écrire pour des questions yves[@]empreintedigitale.fr<br>
ou hurdman sur l'irc freenode ( chan april par exemple ).</p>
<p>Yves-Gaël.</p>
<div><a href="https://linuxfr.org/forums/general-petites-annonces/posts/developpeuses-ou-developpeurs-php-symfony-confirmes-angers-teletravail.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/120573/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-petites-annonces/posts/developpeuses-ou-developpeurs-php-symfony-confirmes-angers-teletravail#comments">ouvrir dans le navigateur</a>
</p>
hurdmannhttps://linuxfr.org/nodes/120573/comments.atomtag:linuxfr.org,2005:News/396552020-01-24T11:55:05+01:002020-01-24T12:00:35+01:00PrestaShop version 1.7.6.3Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Prestashop est un système de gestion de contenu (CMS) libre français de commerce en ligne, développé en PHP + MySQL et placé sous licence <a href="https://opensource.org/licenses/OSL-3.0">OSL v3</a>.</p>
<p>Les points forts de PrestaShop sont la simplicité, la légèreté et la rapidité d’exécution. PrestaShop 1.7 contient plus de 600 fonctionnalités et a contribué à la création et au succès de plus de 300 000 boutiques à travers le monde. La dernière version majeure de Prestashop (la version 1.7) est sortie en 2016.</p>
<p>Prestashop a remporté en 2010 et 2011 le prix <em>Open Source Awards</em> et, <a href="//linuxfr.org/news/retour-sur-l-edition-2019-du-paris-open-source-summit">en 2019, le prix des Acteurs du Libre</a> dans la catégorie développement international, pour sa stratégie de développement qui a permis de mettre en place une communauté d’un million de personnes actives dans le monde. Prestashop est numéro un des logiciels de commerce en ligne en Europe et en Amérique du Sud. Le logiciel est disponible dans plus de soixante langues, y compris des langues s’écrivant de droite à gauche, telles que le persan et l’arabe.</p>
<p>Ce mardi, les équipes de PrestaShop ont publié la version 1.7.6.3 qui apporte de nombreuses corrections, dont :</p>
<ul>
<li>la correction de messages d’erreur confus lorsque des paramètres trop longs étaient saisis en <em>back‑office</em> ;</li>
<li>les courriels n’étaient pas correctement traduits si une langue différente de l’anglais était choisie lors de l’installation ;</li>
<li>le service Web ne renvoyait pas les informations traduites pour les devises ;</li>
<li>il n’était pas possible d’exporter plus de cinquante clients depuis la liste des clients en <em>back‑office</em> ;</li>
<li>dans certaines conditions, il n’était plus possible de modifier le prix d’un produit.</li>
</ul>
<p>La liste complète des corrections est disponible dans les <a href="https://build.prestashop.com/news/prestashop-1-7-6-3-maintenance-release/">notes de publication</a> (en anglais).</p>
<p>La communauté PrestaShop est très active, aussi bien sur le dépôt <a href="https://github.com/PrestaShop/PrestaShop/">GitHub</a>, qui sert également au suivi des bogues, que sur le <a href="https://www.prestashop.com/forums">forum</a> ou le canal <a href="https://gitter.im/PrestaShop/General">Gitter</a>.<br>
N’hésitez pas à venir échanger avec nos communautés de marchands ou de développeurs !</p>
</div><ul><li>lien nᵒ 1 : <a title="https://www.prestashop.com/fr" hreflang="fr" href="https://linuxfr.org/redirect/105613">PrestaShop</a></li><li>lien nᵒ 2 : <a title="https://www.prestashop.com/fr/telecharger" hreflang="fr" href="https://linuxfr.org/redirect/105614">Téléchargement</a></li><li>lien nᵒ 3 : <a title="https://build.prestashop.com/news/prestashop-1-7-6-3-maintenance-release/" hreflang="en" href="https://linuxfr.org/redirect/105615">Notes de publication de la version 1.7.6.3</a></li></ul><div></div><div><a href="https://linuxfr.org/news/prestashop-version-1-7-6-3.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/119214/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/prestashop-version-1-7-6-3#comments">ouvrir dans le navigateur</a>
</p>
Mathieu FermentDavy Defaudpalm123https://linuxfr.org/nodes/119214/comments.atomtag:linuxfr.org,2005:Post/407612020-01-04T20:28:07+01:002020-01-04T20:28:07+01:00Framework libre pour site web / réseau social<p>Bonjour,</p>
<p>j'ai dans les cartons un projet de site web / réseau social. Son but principal serait le partage et la création de documents, avec gestion de comptes payants. J'arriverai peut être à faire ça en partant de rien (lol), mais si jamais ça prend, il faudrait que ça tienne la charge et que ça ne soit pas du bricolage (au pifomètre, il y aurait un peu plus d'utilisateurs que LinuxFR, voire beaucoup plus).</p>
<p>Avez-vous des conseils pour les technologies à utiliser?</p>
<p>Je pensais partir sur Symfony, que je ne connais pas encore, mais de gros sites et des projets libres l'utilisent. Ce qui m'a rebuté c'est la <a href="https://symfony.com/legal/cli-eula">licence de l'installeur</a>, pas libre, alors que le logiciel se revendique pourtant open-source (MIT).</p>
<blockquote>
<p>You agree not to, and you will not permit others to:</p>
<p>license, sell, rent, lease, assign, distribute, transmit, host, outsource, disclose or otherwise commercially exploit the Application or make the Application available to any third party.<br>
modify, make derivative works of, disassemble, decrypt, reverse compile or reverse engineer any part of the Application.<br>
remove, alter or obscure any proprietary notice (including any notice of copyright or trademark) of Symfony SAS or its affiliates, partners, suppliers or the licensors of the Application.</p>
</blockquote>
<p>Je trouve que ça pue</p>
<div><a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/framework-libre-pour-site-web-reseau-social.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/119069/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-cherche-logiciel/posts/framework-libre-pour-site-web-reseau-social#comments">ouvrir dans le navigateur</a>
</p>
tedhttps://linuxfr.org/nodes/119069/comments.atomtag:linuxfr.org,2005:Post/402412019-06-28T11:32:19+02:002019-06-28T15:16:23+02:00Docker : usr/sbin/nginx: /usr/sbin/nginx: cannot execute binary file<p>Hello,</p>
<p>Je viens de faire un dockerfile pour packager nginx avec symfony mais lorsque je tente d'éxécuter un container à partir de l'image buildée il me sort le message suivant:<br>
usr/sbin/nginx: /usr/sbin/nginx: cannot execute binary file</p>
<p>Pouvez vous m'aider à résoudre ce problème svp ?</p>
<p>Voici le contenu de mon Dockerfile:</p>
<pre><code>FROM nginx:latest
ARG DEBIAN_FRONTEND=noninteractive
ENV php_conf /etc/php/7.0/fpm/php.ini
ENV nginx_conf /etc/nginx/nginx.conf
RUN apt-get update \
&& apt-get install apt-transport-https lsb-release -y \
&& apt-get install wget curl -y \
&& wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg \
&& echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list \
&& apt-get update \
&& apt-get install dialog apt-utils -y \
&& apt-get --no-install-recommends install -y \
&& apt-get install php7.3 php7.3-common php7.3-cli -y \
&& apt-get install php7.3-bcmath php7.3-bz2 php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-readline php7.3-xml php7.3-zip -y \
&& apt-get install php7.3-fpm -y \
&& apt-get install php-mysql -y \
&& mkdir -p /var/www/html/symfony-dev001 \
&& mkdir -p /etc/nginx/logs \
&& chown -R nginx:nginx /var/www/html/symfony-dev001 \
&& chown -R nginx:nginx /etc/nginx \
&& chmod u+x /usr/sbin/nginx \
&& apt-get install unzip -y \
&& curl --silent --show-error -o composer-setup.php https://getcomposer.org/installer \
&& EXPECTED_SIGNATURE=$(curl --silent --show-error https://composer.github.io/installer.sig) \
&& ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');") \
&& if [ "${EXPECTED_SIGNATURE}" != "${ACTUAL_SIGNATURE}" ]; then \
>&2 echo 'ERROR: Invalid composer installer signature' \
&& rm composer-setup.php \
&& exit 1 \
; fi \
&& php composer-setup.php --install-dir=/var/www/html/symfony-dev001 \
&& rm composer-setup.php \
&& cd /var/www/html/symfony-dev001 \
&& mv ./composer.phar ./composer \
&& ./composer require symfony/requirements-checker -n \
&& ./composer remove symfony/requirements-checker -n \
&& ./composer create-project symfony/website-skeleton my-project -n \
&& ./composer require symfony/apache-pack -n
COPY nginx.conf /etc/nginx/nginx.conf
ENTRYPOINT ["/bin/bash"]
CMD ["nginx", "-g", "daemon off;"]
</code></pre>
<p>Merci de votre aide</p>
<div><a href="https://linuxfr.org/forums/linux-general/posts/docker-usr-sbin-nginx-usr-sbin-nginx-cannot-execute-binary-file.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/117565/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/docker-usr-sbin-nginx-usr-sbin-nginx-cannot-execute-binary-file#comments">ouvrir dans le navigateur</a>
</p>
Orwellhttps://linuxfr.org/nodes/117565/comments.atomtag:linuxfr.org,2005:Post/402002019-06-06T14:45:56+02:002019-06-07T12:14:10+02:00[JOB Angers] Recherche développeur php Symfony confirmé & Alternant Sysadmin-Devops<p>Salut,<br>
ma boite recherche un ou deux développeur php Symfony pour venir renforcer l'équipe de dev.</p>
<p>La boite est cool, bon esprit, organisation relativement horizontale.<br>
Projet de SCOP en cours pour reprise au départ en retraite du boss.<br>
Contribution au libre encouragé, les devs sont encore timides mais on y travaille :)<br>
Télétravail possible régulièrement, tickets repas etc ….<br>
Choix de la Distribution GNU/Linux non imposée sur le poste de travail ( même hurd ou bsd si vous voulez ).</p>
<p>[EDIT] C'est pour un CDI - la fourchette de salaire est 35-42 k€ suivant senior/confirmé </p>
<p>Je cherche aussi un alternant linuxien-libriste passionné pour de l'admin sys et du réseau voir du devops pour 1 ou 2 ans, pas de préférence en terme de niveau d'étude tant que c'est du motivé :)</p>
<p>[EDIT] J'ai une piste pour un alternant, mais n'hésitez pas à vous manifester quand même, on sait jamais !</p>
<p>Vous pouvez écrire à : recrutement[@]vtech.fr<br>
ou m'envoyer un message directement à : yves[@]vtech.fr pour des questions.</p>
<p>La boite :<br>
<a href="https://empreintedigitale.fr">https://empreintedigitale.fr</a></p>
<p>Librement,<br>
Yves-Gaël Chény.</p>
<div><a href="https://linuxfr.org/forums/general-petites-annonces/posts/job-angers-recherche-developpeur-php-symfony-confirme-alternant-sysadmin-devops.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/117412/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-petites-annonces/posts/job-angers-recherche-developpeur-php-symfony-confirme-alternant-sysadmin-devops#comments">ouvrir dans le navigateur</a>
</p>
hurdmannhttps://linuxfr.org/nodes/117412/comments.atomtag:linuxfr.org,2005:Bookmark/4462019-01-29T19:59:17+01:002019-01-29T19:59:17+01:00Le baromètre des salaires en PHP 2018 vient de publier ses résultats<a href="https://barometre.afup.org/report/2018/">https://barometre.afup.org/report/2018/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/116321/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/afup_com/liens/le-barometre-des-salaires-en-php-2018-vient-de-publier-ses-resultats#comments">ouvrir dans le navigateur</a>
</p>
afup_comhttps://linuxfr.org/nodes/116321/comments.atomtag:linuxfr.org,2005:Post/392242018-05-14T19:00:32+02:002018-05-14T19:00:32+02:00CDD 12 mois DEV mysql/php en télétravail<p>Engage-toi au cœur d'Internet au sein d'une équipe de passionnés ! DRI est encore une entreprise à taille humaine où ton travail aura une influence directe sur ce que nous faisons et où nous allons. Et nous voulons aller loin !<br>
Autour de l'open-source et du green, DRI met en avant ses différences. DRI est un hébergeur reconnu et apprécié de petits ou grands clients nationaux de renom : ministères, Départements, Conseils Régionaux, métropoles… Plus de 6000 sites sont aujourd'hui hébergés et répartis sur nos cinq datacenters.</p>
<p>Notre maître Jedi Dev recherche son padawan… Ta mission sera de nous assister dans le développement de notre extranet client (gestion de tickets, projets, CRM, interface d’administration, partage documentaire, inventaire…) ou des applications spécifiques clients.</p>
<p>Compétences techniques recherchées : background minimum dans l’opensource, mysql/php, framework mvc (idéalement symfony)<br>
Débutant avec petite expérience accepté mais avec l’envie d’apprendre, un bon sens de l’autonomie et l’esprit d’équipe !</p>
<p>Nous proposons une mission de 12 mois en CDD, en télétravail, Tu es idéalement basé à Rennes, Nantes ou Le Mans pour qu’on puisse se voir (le contact humain, c’est bien aussi!). CDI possible à suivre.</p>
<p>Conditions : 20 à 24K en fonction de l’exp + participation loyer/Adsl 2K<br>
Contact : <a href="mailto:recrutement@dri.fr">recrutement@dri.fr</a></p><div><a href="https://linuxfr.org/forums/general-petites-annonces/posts/cdd-12-mois-dev-mysql-php-en-teletravail.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114466/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-petites-annonces/posts/cdd-12-mois-dev-mysql-php-en-teletravail#comments">ouvrir dans le navigateur</a>
</p>
DRIhttps://linuxfr.org/nodes/114466/comments.atomtag:linuxfr.org,2005:Post/382392017-06-23T11:25:09+02:002017-06-23T11:25:09+02:00La Scop Les-Tilleuls.coop recrute !<p>Bonjour Journal,</p>
<p>Notre société coopérative Les-Tilleuls.coop recherche des développeurs(es) back (PHP / API Platform / Symfony ou Node) ainsi que des développeurs(es) front (React / React Native ou Angular).<br>
Une dizaine de postes sont à pourvoir dans nos bureaux de Lille, Paris et Amiens.</p>
<p>Les-Tilleuls.coop est une Scop (Société Coopérative et Participative), cela signifie que :</p>
<ul>
<li>tous les nouveaux arrivants deviennent associés de la société</li>
<li>l'ensemble des décisions sont prises démocratiquement (1 personne = 1 voix) par les coopérateurs</li>
<li>les bénéfices générés sont répartis équitablement entre tous les salariés (l'an dernier, cela représentait environ 10 000 € par personne ; venant en plus du salaire)</li>
</ul><p>N'hésitez pas à nous contacter via <a href="mailto:jobs@les-tilleuls.coop">jobs@les-tilleuls.coop</a></p>
<p>Plus de détail sur les technologies utilisées et les profils recherchés sur notre site : <a href="https://les-tilleuls.coop/fr/jobs">https://les-tilleuls.coop/fr/jobs</a></p><div><a href="https://linuxfr.org/forums/general-petites-annonces/posts/la-scop-les-tilleuls-coop-recrute.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/112140/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-petites-annonces/posts/la-scop-les-tilleuls-coop-recrute#comments">ouvrir dans le navigateur</a>
</p>
keyeshttps://linuxfr.org/nodes/112140/comments.atomtag:linuxfr.org,2005:News/377142016-12-10T23:57:33+01:002016-12-11T13:02:54+01:00API Platform 2 : un cadriciel pour créer des API Web hypermédia en quelques minutesLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Après une année de développements et plus de 700 <em>commits</em> réalisés par plus d’une centaine de contributeurs à travers le monde, la nouvelle version d’API Platform vient d’être publiée. API Platform v2 est une réécriture profonde du cadriciel (<em>framework</em>) incluant une refonte complète de la conception, des ajouts de nouvelles fonctionnalités et des corrections de bogues.</p>
<p>API Platform est un <em>framework</em> libre (licence MIT) écrit en PHP 7 et basé sur <a href="https://fr.wikipedia.org/wiki/Symfony">Symfony</a> destiné à la création d’API Web modernes, puissantes et sécurisées. Cet outil est particulièrement adapté à la construction de systèmes d’informations « <em>API-centric</em> » basés sur l’<a href="https://en.wikipedia.org/wiki/HATEOAS">hypermédia</a> et le <a href="https://fr.wikipedia.org/wiki/Web_des_donn%C3%A9es">Web des données</a> (<em>linked data</em>). Il permet de réaliser facilement des applications d’une seule page (<a href="https://en.wikipedia.org/wiki/Single-page_application"><em>single‐page applications</em></a>) ou dédiées aux mobiles en utilisant des bibliothèques JavaScript telles que <a href="https://fr.wikipedia.org/wiki/React_%28JavaScript%29=">React</a> ou <a href="https://fr.wikipedia.org/wiki/AngularJS">AngularJS</a>.</p>
<p>Le sponsor principal d’API Platform est la société coopérative lilloise <a href="https://les-tilleuls.coop">Les-Tilleuls.coop</a>. Il s’agit d’une <a href="https://fr.wikipedia.org/wiki/Soci%C3%A9t%C3%A9_coop%C3%A9rative_et_participative">SCOP</a> spécialisée dans la conception et la réalisation de logiciels comptant une vingtaine de salariés qui pratiquent l’autogestion et se partagent les bénéfices engrangés de manière égalitaire.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f64756e676c61732e66722f77702d636f6e74656e742f75706c6f6164732f323031362f31312f4150492d506c6174666f726d2d64656d6f2e706e67/API-Platform-demo.png" alt="Capture d'écran" title="Source : https://dunglas.fr/wp-content/uploads/2016/11/API-Platform-demo.png"></p>
<p>En seconde partie de la dépêche, vous trouverez une traduction en français de l’annonce de sortie de cette version deux, qui revient sur les fonctionnalités principales du cadriciel.</p></div><ul><li>lien nᵒ 1 : <a title="https://api-platform.com" hreflang="en" href="https://linuxfr.org/redirect/98786">Site Web d’API Platform</a></li><li>lien nᵒ 2 : <a title="https://github.com/api-platform/api-platform" hreflang="en" href="https://linuxfr.org/redirect/98787">Le code source sur GitHub</a></li><li>lien nᵒ 3 : <a title="https://dunglas.fr/2016/11/api-platform-2-0-released-creating-powerful-web-apis-has-never-been-so-easy/" hreflang="en" href="https://linuxfr.org/redirect/98788">L’annonce de la sortie de la version 2</a></li><li>lien nᵒ 4 : <a title="https://les-tilleuls.coop" hreflang="fr" href="https://linuxfr.org/redirect/98789">La SCOP Les-Tilleuls.coop</a></li></ul><div><h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li><ul>
<li><a href="#exposer-une-api-en-quelques-secondes-gr%C3%A2ce-au-nouveau-syst%C3%A8me-des-configuration-et-de-m%C3%A9tadonn%C3%A9es">Exposer une API en quelques secondes grâce au nouveau système des configuration et de métadonnées</a></li>
<li><a href="#int%C3%A9gration-de-docker">Intégration de Docker</a></li>
<li><a href="#un-g%C3%A9n%C3%A9rateur-de-mod%C3%A8le-de-donn%C3%A9es-am%C3%A9lior%C3%A9">Un générateur de modèle de données amélioré</a></li>
<li><a href="#la-n%C3%A9gociation-de-contenu-et-le-support-int%C3%A9gr%C3%A9-pour-json-ld-hydra-hal-yaml-csv-et-xml">La négociation de contenu et le support intégré pour JSON-LD, Hydra, HAL, YAML, CSV et XML</a></li>
<li><a href="#une-interface-utilisateur-pratique-et-une-documentation-swagger2-automatique">Une interface utilisateur pratique et une documentation Swagger 2 automatique</a></li>
<li><a href="#de-nouveaux-filtres">De nouveaux filtres</a></li>
<li><a href="#s%C3%A9curis%C3%A9-par-d%C3%A9faut-respectant-les-recommandations-de-lowasp">Sécurisé par défaut, respectant les recommandations de l’OWASP</a></li>
<li><a href="#am%C3%A9lioration-des-performances">Amélioration des performances</a></li>
<li><a href="#mise-%C3%A0-disposition-en-tant-que-composants-autonomes-dissoci%C3%A9s-de-symfony-et-doctrine">Mise à disposition en tant que composants autonomes, dissociés de Symfony et Doctrine</a></li>
<li><a href="#qualit%C3%A9-du-code-et-tests-automatis%C3%A9s">Qualité du code et tests automatisés</a></li>
<li><a href="#r%C3%A9%C3%A9criture-de-la-documentation-et-nouveau-site-web">Réécriture de la documentation et nouveau site Web</a></li>
<li><a href="#une-communaut%C3%A9-en-plein-essor">Une communauté en plein essor</a></li>
<li><a href="#les-prochaines-%C3%A9tapes">Les prochaines étapes</a></li>
</ul></li>
</ul><p>API Platform repose sur trois principes fondateurs :</p>
<ol>
<li>créer une API facilement et rapidement : n’importe quel développeur Web doit pouvoir créer une API REST et obtenir le support du <a href="https://fr.wikipedia.org/wiki/CRUD">CRUD</a>, une documentation auto‐générée, l’authentification via JSON Web Token ou <a href="https://fr.wikipedia.org/wiki/OAuth" title="Définition Wikipédia">OAuth</a>, la gestion des en‐têtes <a href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing" title="Cross‐origin resource sharing">CORS</a>, la validation des données, les tris et les filtres, le cache, etc. ;</li>
<li>les formats ouverts modernes sont gérés nativement, sans demander de travail supplémentaire pour le développeur : Swagger/OpenAPI, JSON-LD, Hydra, HAL, API Problem (RFC 7807), Schema.org sont pris en charge par défaut et la couche d’abstraction fournie par le cadriciel permet d’ajouter facilement le prise en charge d’autres nouveaux formats d’API (JSON API et GraphQL sont actuellement en cours de développement) ;</li>
<li>chaque fonctionnalité du cadriciel doit être extensible, modulaire et débrayable.</li>
</ol><h3 id="exposer-une-api-en-quelques-secondes-grâce-au-nouveau-système-des-configuration-et-de-métadonnées">Exposer une API en quelques secondes grâce au nouveau système des configuration et de métadonnées</h3>
<p>Grâce au nouveau système de configuration et au composant de métadonnées (la couche d’abstraction entre les différents formats pris en charge), vous pouvez créer de manière très simple une API hypermédia de qualité en modélisant vos données sous forme de classes PHP et en ajoutant quelques annotations.</p>
<p>Exemple :</p>
<pre><code class="php"><span class="o"><?</span><span class="nx">php</span>
<span class="c1">// src/AppBundle/Entity/Book.php</span>
<span class="k">namespace</span> <span class="nx">AppBundle\Entity</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">ApiPlatform\Core\Annotation\ApiResource</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">Doctrine\ORM\Mapping</span> <span class="k">as</span> <span class="nx">ORM</span><span class="p">;</span>
<span class="k">use</span> <span class="nx">Symfony\Component\Validator\Constraints</span> <span class="k">as</span> <span class="nx">Assert</span><span class="p">;</span>
<span class="sd">/**</span>
<span class="sd"> * A book.</span>
<span class="sd"> *</span>
<span class="sd"> * @ApiResource</span>
<span class="sd"> * @ORM\Entity</span>
<span class="sd"> */</span>
<span class="k">class</span> <span class="nc">Book</span>
<span class="p">{</span>
<span class="sd">/**</span>
<span class="sd"> * @var int The id of this book.</span>
<span class="sd"> *</span>
<span class="sd"> * @ORM\Id</span>
<span class="sd"> * @ORM\GeneratedValue</span>
<span class="sd"> * @ORM\Column(type="integer")</span>
<span class="sd"> */</span>
<span class="k">public</span> <span class="nv">$id</span><span class="p">;</span>
<span class="sd">/**</span>
<span class="sd"> * @var string|null The ISBN number of this book (or null if it doesn't have one).</span>
<span class="sd"> *</span>
<span class="sd"> * @ORM\Column(nullable=true)</span>
<span class="sd"> * @Assert\Isbn</span>
<span class="sd"> */</span>
<span class="k">public</span> <span class="nv">$isbn</span><span class="p">;</span>
<span class="sd">/**</span>
<span class="sd"> * @var string The title of this book.</span>
<span class="sd"> *</span>
<span class="sd"> * @ORM\Column</span>
<span class="sd"> * @Assert\NotBlank</span>
<span class="sd"> */</span>
<span class="k">public</span> <span class="nv">$title</span><span class="p">;</span>
<span class="c1">// Prefer private properties, accessors and mutators in real applications</span>
<span class="p">}</span></code></pre>
<p>Cette classe est suffisante pour obtenir une API fonctionnelle, supportant les fonctionnalités suivantes :</p>
<ul>
<li>des <a href="https://api-platform.com/docs/core/operations">opérations CRUD</a> ;</li>
<li>la <a href="https://api-platform.com/docs/core/validation">validation des données</a> et la sérialisation des erreurs aux formats JSON-LD, Swagger et Hydra ;</li>
<li>la <a href="https://api-platform.com/docs/core/pagination">pagination</a> ;</li>
<li>une interface utilisateur agréable et une documentation autogénérée utilisant les données de la PHPDoc.</li>
</ul><p>Consultez la <a href="https://demo.api-platform.com/">démo</a> pour tester un exemple plus avancé (<a href="https://github.com/api-platform/demo/">code source</a> de seulement deux classes) !</p>
<p>Les relations hypermédias entre les différentes ressources exposées par l’API sont gérées nativement. Utiliser n’importe quelle autre fonctionnalité d’API Platform consiste juste à ajouter quelques lignes de configuration. Découvrez ça dans le <a href="https://api-platform.com/docs/distribution/">guide de démarrage</a>.</p>
<p>Si vous n’aimez pas les annotations, vous pouvez utiliser les fichiers de configuration au format XML ou YAML à la place. Si vous n’aimez pas la correspondance objet‐base de données (<a href="https://fr.wikipedia.org/wiki/Mapping_objet-relationnel" title="Object‐Relational Mapping">ORM</a>) de <a href="https://fr.wikipedia.org/wiki/Doctrine_%28ORM%29">Doctrine</a> ou si vous ne souhaitez pas utiliser le validateur de <a href="https://fr.wikipedia.org/wiki/Symfony">Symfony</a>, vous pouvez créer des adaptateurs pour brancher votre code personnalisé et utiliser vos bibliothèques préférées. En somme, API Platform a été conçu pour être complètement extensible.</p>
<h3 id="intégration-de-docker">Intégration de Docker</h3>
<p>La distribution officielle d’API Platform est fournie avec une configuration Docker adaptée au développement d’API. Cela inclut Apache et PHP 7 et une image de MySQL. Pour faire fonctionner une application API Platform de manière optimisée sur votre machine, tapez les commandes suivantes dans son répertoire racine :</p>
<pre><code class="bash"><span class="nv">$ </span>docker-compose up -d <span class="c"># Télécharge, construit et exécute les images Docker</span>
<span class="nv">$ </span>docker-compose <span class="nb">exec </span>web bin/console doctrine:schema:create <span class="c"># Crée le schéma MySQL, nécessaire une seule fois</span></code></pre>
<p>Une fois que l’application est démarrée, rendez vous sur <a href="http://localhost/">http://localhost/</a> pour commencer à jouer avec votre API.</p>
<p>Les images d’API Platform peuvent également être déployées en production facilement en utilisant Docker Swarm (Amazon Web Services, Azure…) ou Google Container Engine (avec Kubernetes).</p>
<h3 id="un-générateur-de-modèle-de-données-amélioré">Un générateur de modèle de données amélioré</h3>
<p>Au lieu de créer votre propre modèle de données, pourquoi ne pas réutiliser des vocabulaires ouverts comme le très populaire Schema.org et ainsi profiter de la puissance du Web des données et du Web sémantique ? Exactement comme le fait Google, mais grâce à un cadriciel 100 % libre.</p>
<p>Depuis sa première sortie, API Platform est fourni avec un générateur de code permettant de créer un modèle de données en PHP incluant les classes, les propriétés, les accesseurs et mutateurs (<em>getters</em> et <em>setters</em>), une PHPDoc complète, les correspondances avec l’ORM Doctrine, les annotations de validation et la correspondance avec le vocabulaire externe pris en charge par API Platform. Ce générateur a été mis à jour afin d’être compatible avec la nouvelle configuration d’API Platform 2. Grâce à ce générateur couplé au système de création d’API d’API Platform, vous pouvez réaliser une API fonctionnelle sans écrire une seule ligne de PHP :</p>
<pre><code class="yaml"><span class="l-Scalar-Plain">types</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">Book</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">parent</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">false</span> <span class="c1"># Generate only one class, not the full hierarchy from Schema.org</span>
<span class="l-Scalar-Plain">properties</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">isbn</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">~</span>
<span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">~</span>
<span class="l-Scalar-Plain">description</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">~</span>
<span class="l-Scalar-Plain">author</span><span class="p-Indicator">:</span> <span class="p-Indicator">{</span> <span class="nv">range</span><span class="p-Indicator">:</span> <span class="nv">Text</span> <span class="p-Indicator">}</span>
<span class="l-Scalar-Plain">dateCreated</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">~</span>
<span class="l-Scalar-Plain">Review</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">parent</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">false</span>
<span class="l-Scalar-Plain">properties</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">reviewBody</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">~</span>
<span class="l-Scalar-Plain">rating</span><span class="p-Indicator">:</span> <span class="p-Indicator">{</span> <span class="nv">range</span><span class="p-Indicator">:</span> <span class="nv">Integer</span><span class="p-Indicator">,</span> <span class="nv">nullable</span><span class="p-Indicator">:</span> <span class="nv">false</span> <span class="p-Indicator">}</span> <span class="c1"># This is a custom field that doesn't exist in the vocab</span>
<span class="l-Scalar-Plain">itemReviewed</span><span class="p-Indicator">:</span> <span class="p-Indicator">{</span> <span class="nv">range</span><span class="p-Indicator">:</span> <span class="nv">Book</span><span class="p-Indicator">,</span> <span class="nv">nullable</span><span class="p-Indicator">:</span> <span class="nv">false</span><span class="p-Indicator">,</span> <span class="nv">cardinality</span><span class="p-Indicator">:</span> <span class="s">'(*..1)'</span> <span class="p-Indicator">}</span></code></pre>
<p>Découvrez‐en plus au sujet du générateur dans la <a href="https://api-platform.com/docs/schema-generator/getting-started">documentation</a> et la <a href="https://github.com/api-platform/demo/pull/3">démo</a>.</p>
<h3 id="la-négociation-de-contenu-et-le-support-intégré-pour-json-ld-hydra-hal-yaml-csv-et-xml">La négociation de contenu et le support intégré pour JSON-LD, Hydra, HAL, YAML, CSV et XML</h3>
<pre><code class="yaml"><span class="c1"># app/config/config.yml</span>
<span class="l-Scalar-Plain">api_platform</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">formats</span><span class="p-Indicator">:</span>
<span class="l-Scalar-Plain">jsonld</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'application/ld+json'</span><span class="p-Indicator">]</span>
<span class="l-Scalar-Plain">jsonhal</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'application/hal+json'</span><span class="p-Indicator">]</span>
<span class="l-Scalar-Plain">xml</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'application/xml'</span><span class="p-Indicator">,</span> <span class="s">'text/xml'</span><span class="p-Indicator">]</span>
<span class="l-Scalar-Plain">json</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'application/json'</span><span class="p-Indicator">]</span>
<span class="l-Scalar-Plain">yaml</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'application/x-yaml'</span><span class="p-Indicator">]</span>
<span class="l-Scalar-Plain">csv</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'text/csv'</span><span class="p-Indicator">]</span>
<span class="l-Scalar-Plain">html</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'text/html'</span><span class="p-Indicator">]</span> <span class="c1"># This is the API Platform UI</span></code></pre>
<p>Cette configuration donne accès à l’ensemble des formats disponibles (Symfony 3.2 — actuellement en version candidate — est requis pour la prise en charge du <a href="https://fr.wikipedia.org/wiki/YAML" title="YAML Ain’t a Markup Language — YAML n’est pas un langage de balisage">YAML</a> et du <a href="https://fr.wikipedia.org/wiki/Comma-separated_values" title="Comma‐separated_values — Valeurs séparées par des virgules">CSV</a>). Dès lors, vous pouvez préciser le format souhaité à travers l’interface utilisateur ; en utilisant les en‐têtes HTTP adéquats, ou en ajoutant le nom du format en extension de n’importe quelle adresse URL de l’API (exemple : <a href="https://demo.api-platform.com/books.jsonld">https://demo.api-platform.com/books.jsonld</a>). L’ajout et l’utilisation de formats non pris en charge par défaut peuvent être réalisés en écrivant des adaptateurs personnalisés.</p>
<p><a href="https://api-platform.com/docs/core/content-negotiation">Découvrez plus de détails au sujet de la négociation de contenu dans API Platform</a>.</p>
<h3 id="une-interface-utilisateur-pratique-et-une-documentation-swagger2-automatique">Une interface utilisateur pratique et une documentation Swagger 2 automatique</h3>
<p>API Platform 2 génère une documentation extensive au format <a href="http://swagger.io/getting-started/">Swagger 2</a> / <a href="https://en.wikipedia.org/wiki/OpenAPI_Specification">OpenAPI</a>. Toutes les adresses URL et types sont automatiquement décrits grâce à notre système d’extraction des méta‐données.</p>
<p>Une interface Web construite à partir de Swagger UI est aussi automatiquement mise à disposition. Faites appel à n’importe quelle adresse URL de l’API en utilisant un navigateur Web et (grâce à l’en‐tête HTTP <code>Accept</code> envoyé par le navigateur) API Platform va afficher la requête envoyée à l’API, ainsi que la réponse reçue dans une interface Web agréable. Une documentation humainement compréhensible de l’opération en cours sera également affichée.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f64756e676c61732e66722f77702d636f6e74656e742f75706c6f6164732f323031362f31312f4150492d506c6174666f726d2d55492e706e67/API-Platform-UI.png" alt="Doc" title="Source : https://dunglas.fr/wp-content/uploads/2016/11/API-Platform-UI.png"></p>
<p>Explorez la page d’accueil de votre API pour découvrir la documentation de toutes les opérations disponibles, incluant la description de toutes les ressources et propriétés extraites des méta‐données PHP. Utilisez le bac à sable pour jouer avec votre API.</p>
<h3 id="de-nouveaux-filtres">De nouveaux filtres</h3>
<p>Quelques nouveaux filtres ont été ajoutés en complément des filtres existants de recherche, d’ordre, de tri ou de date :</p>
<ul>
<li>le filtre <a href="https://api-platform.com/docs/core/filters#boolean-filter">booléen</a> permettant de filtrer les propriétés booléennes ;</li>
<li>le filtre <a href="https://api-platform.com/docs/core/filters#numeric-filter">numérique</a> permettant de filtrer les champs numériques.</li>
</ul><p>Ces filtres sont désormais disponibles depuis l’interface utilisateur et documentés dans les formats Hydra et Swagger. <a href="https://api-platform.com/docs/core/filters">Découvrez comment ajouter des filtres dans votre collection d’API</a>.</p>
<p>Les filtres sont désormais implémentés grâce à l’utilisation du tout nouveau système d’extension. Ce système permet de se brancher aux processus de génération des requêtes base de données afin de les modifier. Il est particulièrement utile pour implémenter des fonctionnalités de sécurité. <a href="https://api-platform.com/docs/core/extensions">Découvrez comment exploiter le mécanisme d’extension pour filtrer le résultat d’un point d’entrée en fonction du rôle de l’utilisateur connecté</a>.</p>
<h3 id="sécurisé-par-défaut-respectant-les-recommandations-de-lowasp">Sécurisé par défaut, respectant les recommandations de l’OWASP</h3>
<p>Toutes les fonctionnalités d’API Platform 2 suivent les recommandations de sécurité édictée par l’<a href="https://www.owasp.org">OWASP</a>. Nous avons créé une suite de tests pour nous assurer que toutes ces recommandations soient respectées et documentées. <a href="https://github.com/api-platform/core/tree/master/features/security">Découvrez comment API Platform 2 sécurise votre API</a>.</p>
<h3 id="amélioration-des-performances">Amélioration des performances</h3>
<p>Nous sommes continuellement en train d’améliorer les performances d’API Platform et des composants Symfony que le cadriciel utilise (comme le sérialiseur ou le composant PropertyAccess). Cette nouvelle version est plus rapide que la version 1 et optimise automatiquement les requêtes SQL en fonction des groupes de sérialisation. API Platform 2 est également compatible avec PHP PM. En l’utilisant, les temps de réponse de l’API sont divisés par dix.</p>
<h3 id="mise-à-disposition-en-tant-que-composants-autonomes-dissociés-de-symfony-et-doctrine">Mise à disposition en tant que composants autonomes, dissociés de Symfony et Doctrine</h3>
<p>API Platform est conçu comme un ensemble de composants PHP indépendants : son système de méta‐données, les sérialiseurs JSON-LD, Hydra, Swagger et HAL, les ponts vers Doctrine et Symfony, etc. Tous ces composants peuvent être utilisés séparément pour créer votre propre API. Pour le moment, la bibliothèque Core doit être téléchargée, mais une sous‐division du dépôt principal (<em>subtree split</em>) sera disponible pour la version 2.1. Elle permettra l’installation spécifique d’un composant. Les classes spécifiques peuvent déjà être utilisées séparément de la distribution standard et sans Symfony.</p>
<p>Nous avons également déplacé le code suffisamment générique d’API Platform vers Symfony. Par exemple, le nouveau composant Symfony PropertyInfo a été extrait d’API Platform. Quelques corrections de bogues et des nouvelles fonctionnalités, telle que la prise en charge des profondeurs maximales de sérialisation ou encore des formats YAML et CSV au sein du Serializer de Symfony ont été réalisées durant le développement d’API Platform.</p>
<p>L’<a href="https://en.wikipedia.org/wiki/Object-relational_mapping" title="Object‐relational mapping — Correspondance objet‐base de données">ORM</a> Doctrine n’a jamais été obligatoire pour utiliser API Platform, mais l’ensemble des interfaces permettant d’implémenter une infrastructure de persistance différente a été repensé et est désormais documenté.</p>
<h3 id="qualité-du-code-et-tests-automatisés">Qualité du code et tests automatisés</h3>
<p>Nous avons considérablement amélioré la qualité de code d’API Platform pour sa version deux. API Platform v1 était déjà testé via Behat. Dans la version deux, nous avons ajouté des tests unitaires supplémentaires, afin de prévenir les bogues et de démontrer que chaque classe respecte les principes <a href="https://fr.wikipedia.org/wiki/SOLID_%28informatique%29">SOLID</a>. La couverture du code est désormais de 96 %. Notre suite de tests est automatiquement lancée sous GNU/Linux (en utilisant Travis) et sous Windows (en utilisant AppVeyor).</p>
<p>Nous avons également utilisé Scrutinizr et SensioLabs Insight afin de détecter les mauvaises pratiques et améliorer la qualité globale du code. API Platform est désormais noté 8,7/10 sur Scrutinizr et a reçu la médaille Platinum (meilleure évaluation, donc) sur Insight.</p>
<h3 id="réécriture-de-la-documentation-et-nouveau-site-web">Réécriture de la documentation et nouveau site Web</h3>
<p>La documentation a été améliorée et toutes les nouvelles fonctionnalités sont désormais documentées. Le guide de démarrage a été complètement réécrit. Un nouveau site Web construit avec React et Redux a également été développé. Il est notamment doté d’un puissant moteur de recherche fourni par Algolia.</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f636f6d6d756e6974792e616c676f6c69612e636f6d2f646f637365617263682f696d672f73686f77636173652f6578616d706c652d617069706c6174666f726d2e676966/example-apiplatform.gif" alt="Doc" title="Source : https://community.algolia.com/docsearch/img/showcase/example-apiplatform.gif"></p>
<h3 id="une-communauté-en-plein-essor">Une communauté en plein essor</h3>
<p>API Platform, c’est plus de cent contributeurs à travers le monde, une équipe principale composée de Hamza Amrouche , Antoine Bluchet, Samuel Roze, Teoh Han Hui, Théo Fidry, Vincent Chalamon et Kévin Dunglas), des ateliers et des conférences données à travers le monde (d’ailleurs, ne loupez pas l’atelier API Platform de demain lors de la <em>Symfony Con</em> de Berlin).</p>
<p>API Platform est régulièrement classé dans les dépôts PHP les plus populaires de GitHub auprès de grands projets tels que Laravel, Symfony et Wordpress. Nous avons d’ailleurs dépassé le millier d’étoiles sur GitHub début novembre ! Des formations, des prestations de développements, un support commercial, ainsi que les ateliers sont dispensés dans toute l’Europe par <em>Les-Tilleuls.coop</em>, principal sponsor du cadriciel.</p>
<p>Merci à toutes les personnes qui ont travaillé sur ces développements, à celles qui ont contribué à la documentation ou qui ont participé à populariser API Platform ! Ce projet ne serait rien sans vous !</p>
<h3 id="les-prochaines-étapes">Les prochaines étapes</h3>
<p>La sortie de la version 2 d’API Platform n’est que la première étape ! Nous travaillons déjà sur de nouvelles fonctionnalités et certaines sont déjà sur le point d’être intégrées à la branche 2.1 :</p>
<ul>
<li>le prise en charge native de MongoDB et de JSON API ;</li>
<li>une auto‐génération de l’administration via l’utilisation de React et <em>Admin on Rest</em>.</li>
</ul><p>Restez à l’écoute des prochaines mises à jour ! Si vous ne l’avez pas encore fait, c’est l’occasion ou jamais de <a href="https://api-platform.com/docs/distribution/">tester API Platform</a> !</p>
<p>Si vous aimez le projet, vous pouvez nous aider en nous donnant une étoile sur GitHub !</p></div><div><a href="https://linuxfr.org/news/api-platform-2-un-cadriciel-pour-creer-des-api-web-hypermedia-en-quelques-minutes.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/110745/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/api-platform-2-un-cadriciel-pour-creer-des-api-web-hypermedia-en-quelques-minutes#comments">ouvrir dans le navigateur</a>
</p>
Kévin DunglasDavy DefaudZeroHeurepalm123Nils Ratusznikbubar🦥Pierre Jarillonhttps://linuxfr.org/nodes/110745/comments.atomtag:linuxfr.org,2005:Post/369172016-05-31T18:16:24+02:002016-05-31T18:16:24+02:00[Emploi] Lead developpeur et développeur sénior PHP/Symfony<p>Bonjour à tous,</p>
<p>Tout d'abord, la présentation kivabien :)</p>
<p>Éditeur de sites thématiques dans les domaines du high tech, du jeu vidéo et de la beauté (lesnumeriques.com, gamekult.com, cnetfrance.fr, zdnet.fr, beaute-test.com…) et employant 85 personnes Neweb est une entreprise de passionnés qui recherche avant tout une personnalité sachant s'intégrer à notre culture.</p>
<p>J'aimerai donner un peu plus de visibilité à deux annonces que nous avons posté sur stackoverflow, concernant <a href="http://stackoverflow.com/jobs/117075/d%C3%A9veloppeur-s%C3%A9nior-h-f-neweb-developpement?offset=0&company=Neweb%20Developpement">un développeur sénior</a> et <a href="http://stackoverflow.com/jobs/117074/lead-developpeur-h-f-neweb-developpement?offset=1&company=Neweb%20Developpement">un lead développeur</a>.</p>
<p>Pour l'essentiel, et parce que je sais qu'on se fait descendre si ne le mentionne pas :</p>
<ul>
<li>le sénior : 45-50K</li>
<li>le lead : 50-55k</li>
<li>on est sur des technos classiques : php/symfony, mysql, memcache, varnish, jquery</li>
</ul><p>L'ambiance de travail est assez bon enfant, on peut installer ce qu'on veut sur nos machines, on est ouvert sur la mise à dispo de code sous licence libre (même si on en a pas encore fait).</p>
<p>Je suis moi-même lead dev de l'équipe, j'aime le code propre et performant (nous avons des sites à gros trafic, c'est important), boire des bières et raconter des conneries :)</p>
<p>Si vous sentez que ça peut vous plaire, postulez !</p>
<p>Merci de m'avoir lu,<br>
Jérémy</p><div><a href="https://linuxfr.org/forums/general-petites-annonces/posts/emploi-lead-developpeur-et-developpeur-senior-php-symfony.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/109133/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/general-petites-annonces/posts/emploi-lead-developpeur-et-developpeur-senior-php-symfony#comments">ouvrir dans le navigateur</a>
</p>
j.vogthttps://linuxfr.org/nodes/109133/comments.atomtag:linuxfr.org,2005:News/367322015-09-29T21:43:19+02:002015-09-30T09:28:37+02:00Rendez-vous Les moteurs de Template en PHP le 6 octobre 2015 à ParisLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>L’antenne AFUP (Association Française des Utilisateurs de PHP) de Paris donne rendez-vous à tous les informaticiens et informaticiennes le 6 octobre 2015 à partir de 18h30 chez BlaBlaCar (32 rue blanche, à Paris). Le thème abordé sera « Les moteurs de Template en PHP ».</p>
<p>Comme toujours le rendez-vous est gratuit et ouvert à tous, donc parlez autour de vous, et comme toujours… le nombre de places est limité. Alors n'hésitez pas à vous inscrire à partir de la page de l'événement !</p></div><ul><li>lien nᵒ 1 : <a title="http://afup.org/pages/rendezvous/index.php?id=23" hreflang="fr" href="https://linuxfr.org/redirect/95100">Inscription soirée Les moteurs de Template en PHP</a></li><li>lien nᵒ 2 : <a title="http://paris.afup.org/2015/09/29/rendez-vous-afup-paris-le-6-octobre-2015-moteurs-de-template/" hreflang="fr" href="https://linuxfr.org/redirect/95101">l'annonce sur le site de l'antenne AFUP Paris </a></li></ul><div><p>L'antenne invite plusieurs conférenciers pour couvrir la thématique du moment. Le programme de cette soirée :</p>
<ul>
<li>Ouverture des portes à 18h30 (début 19h00)</li>
<li>1ere présentation : Smarty par Amaury Bouchard</li>
<li>2ème présentation : Twig par Grégoire Pineau</li>
<li>3ème présentation : Blade par Julien Tant</li>
<li>Pot de l’amitié</li>
</ul></div><div><a href="https://linuxfr.org/news/rendez-vous-les-moteurs-de-template-en-php-le-6-octobre-2015-a-paris.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/106906/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/rendez-vous-les-moteurs-de-template-en-php-le-6-octobre-2015-a-paris#comments">ouvrir dans le navigateur</a>
</p>
hellosct1Benoît Sibaudbubar🦥claudexhttps://linuxfr.org/nodes/106906/comments.atomtag:linuxfr.org,2005:News/363152015-04-13T11:59:47+02:002015-04-13T11:59:47+02:00Lille : apéro Symfony le 30 avril 2015Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<div><p>Amoureux du framework libre <a href="http://symfony.com">Symfony</a>, vous vous demandez encore comment occuper votre soirée du 30 avril 2015 ? Ne cherchez plus ! Un nouveau sfPot aura lieu le jeudi 30 avril à 19h au Meatballs, un restaurant situé 10 rue du Pont Neuf, dans le Vieux-Lille. Un sfPot est <a href="http://afsy.fr/?page=3">défini</a> comme « <em>rendez-vous social informel, gratuit et ouvert à tous (…) une fois par mois autour d'une ou deux mini conférences qui se prolongent autour d'une bière ou d'un repas dans un bar, un pub ou un restaurant.</em> »</p>
<p>Cette cinquième édition sera animée par Vincent Chalamon, développeur chez Les-Tilleuls.coop, et Anthony Blin, développeur chez CGI/AECF, qui nous parleront de la mise en place de <a href="https://www.rabbitmq.com/">RabbitMQ</a> dans un projet en Symfony 2 et de l’optimisation de Symfony avec <a href="http://hhvm.com/">HHVM</a>.</p>
<p>Le lieu sera entièrement privatisé. Le parking sera facilité par le parking situé en face à l’Esplanade. 2 boissons seront offertes à chaque personne dans un format cocktail dinatoire.</p></div><ul></ul><div><p><img src="//img.linuxfr.org/img/687474703a2f2f6c65732d74696c6c65756c732e636f6f702f77702d636f6e74656e742f75706c6f6164732f323031352f30342f5366706f74352e706e67/Sfpot5.png" alt="Affiche sfPot" title="Source : http://les-tilleuls.coop/wp-content/uploads/2015/04/Sfpot5.png"></p>
<p>Ce sfPot est co-organisé par l'<a href="http://afsy.fr/">AFSY</a>, l'<a href="http://www.afup.org/">AFUP</a>, <a href="http://les-tilleuls.coop">Les-Tilleuls.coop</a>, <a href="http://sensiolabs.com">SensioLabs</a>, <a href="http://www.cgi.fr/">CGI</a> et <a href="http://auchan.fr">Auchan E-commerce</a>.</p></div><div><a href="https://linuxfr.org/news/lille-apero-symfony-le-30-avril-2015.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/105415/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/news/lille-apero-symfony-le-30-avril-2015#comments">ouvrir dans le navigateur</a>
</p>
Kévin DunglasBenoît Sibaudhttps://linuxfr.org/nodes/105415/comments.atom