Quantcast
Channel: AFPy's Planet
Viewing all 3409 articles
Browse latest View live

[Biologeek] Redesign incrémental

$
0
0

Never make radical changes when minimal adjustments will suffice. Too many websites undergo a major overhaul unnecessarily. While legitimate reasons exist for engaging in a redesign, the reality is that many problems you need to solve are isolated and can be fixed with smaller, incremental approaches. Look at the metrics rather than guess what needs to be changed. Allow data to help you determine the extent of the problem and apply the least amount of change necessary to solve it. Radical changes have a higher chance of inadvertently breaking something critical for users.

Radical Redesign or Incremental Change? (cache)

J’ai commencé un redesign avec plusieurs objectifs :

  • jouer avec les véritables (cache) small caps ;
  • davantage mettre en avant le stream et l’activité pro ;
  • simplifier la CSS et m’amuser avec le responsive pour les en-têtes et pieds de pages ;
  • améliorer les contrastes et la lisibilité ;
  • retirer le bruit (partages sociaux et support de webmention) ;
  • me challenger en retirant tous les id, class et images décoratives.

La peinture est fraîche et le restera :-).


[Biologeek] ★ Compagnons du dev

$
0
0

Cette présentation m’a refait penser aux diverses idées que j’ai autour d’autre façons possibles de "travailler" dans le Web. Celles-ci ne sont finalement que des adaptations de choses existantes dans le domaine culturel mais j’en profite pour les partager.

Imaginer d’autres façons de collaborer (cache)

On parle de compagnonnage depuis très longtemps au sein de scopyleft. Aller voir ce qui se fait ailleurs pour s’enrichir de leurs différences est dans notre culture. Pour autant, on n’a jamais tenté d’officialiser la chose. Par manque de temps ou peut-être pour que tout cela reste léger, pour ne pas tomber dans le corporatisme déjà bien prononcé dans notre domaine. Stéphane est actuellement en tournée en France et Vincent aux États-Unis. Les rencontres se font sur un coup de fil ou un tweet, parfois juste par chance en croisant la bonne personne.

Les institutions éducatives (si elles sont réellement nécessaires) seront amenées à prendre l’aspect de centres ouverts à tous, où chacun puisse trouver ce qu’il recherche.

Une société sans école, Ivan Illich

Loïc nous invite à proposer d’autres formes de collaboration :

Co-working éphémère

C’est ce qui est exploré avec Dev Open Sud, l’idée de se retrouver dans un lieu donné pour une période fixe mais relativement courte. Partager et créer, ensemble ou pas, pour du business ou pas, tard le soir ou pas.

Les inscriptions sont ouvertes et le budget est réajusté en fonction des dépenses réelles sur place (ce qui est suffisamment rare pour être signalé).

Camps d’exploration

On prend une techno récente, on prend un lieu et un long week-end. Pas forcément déconnecté comme un /dev/fort mais relativement isolé. L’objectif est de produire un truc utile en utilisant la technologie retenue avec des personnes de différents niveaux et horizons.

J’en lancerais bien un premier sur ReactJS mais ça demande un peu de logistique.

Randonnée technique

Le concept n’est pas nouveau mais je pense qu’il gagnerait à s’appliquer en itinérance. La réflexion pourrait s’orienter vers la limitation des ressources et ce que l’on est capable de transmettre une fois déconnecté. Travailler sur le mobile et l’immobile, sur l’action et la réflexion, sur les contraintes et le bien-être, sur la solidarité et la survie.

Je rêve d’un Tour du Mont-Blanc sur ce principe.

Tout cela me rappelle la notion de nomadisme coopératif (cache) dont avait parlé Patricia Vendramin lors de Lift France.

[Biologeek] Polices et performances

$
0
0

By referencing our fonts using CSS @font-face and using font loading APIs to load and enable them when ready, we’ve found our fastest page load yet (complete in 600 milliseconds on wifi!) while retaining the progressive font rendering we desired.

Font Loading Revisited with Font Events (cache)

À force de rajouter des polices dans ma feuille de style (5 à ce jour…) elle commençait à être énorme et leurs ajouts sous forme de data URI s’avérait être beaucoup moins pertinent. Même en gagnant sur la latence en n’ayant qu’un seul fichier, la page ne commençait à s’afficher qu’une fois la CSS complètement chargée. Soit après 4,5 secondes sur une connexion 3G pour un article !

En explorant les Font Load Events (cache) j’ai pu réduire ce temps de moitié pour la même taille de téléchargement. C’est un gain vraiment énorme en terme de ressenti qui ne change rien au poids ou au temps de chargement du document complet. Il n’y a que la police pour le code que je charge directement avec @font-face car ainsi le navigateur ne la charge que s’il y a ces éléments présents dans la page (et normalement le code arrive plus bas dans la lecture).

L’inconvénient principal est au rafraichissement de la page car on s’aperçoit que le chargement des polices est fait en JavaScript mais l’usage d’InstantClick rend ce rafraichissement moins courant. L’autre problème est de dépendre de JavaScript pour afficher des polices qui pourraient être chargées nativement de manière optimisée…

[Biologeek] Gymkhana et cibles

$
0
0

Les citoyens dans le phare, les développeurs sur le bateau

Pour imaginer des applications innovantes, le citoyen est un réservoir d’idées brutes. Cette matière première est malheureusement mal exploitée, la collaboration avec les développeurs, directe ou par des intermédiaires, étant souvent infructueuse. C’est criant dans les sociétés où des années de silos ont érigé des barrières entre les utilisateurs ou leurs mandataires et les équipes de développement. Ils s’observent, chacun dans sa tourelle, par meurtrières interposées : les uns construisent des outils techniques difficilement utilisables, les autres formulent des solutions qui ne reflètent pas leurs besoins réels.

On trouve aujourd’hui des développeurs citoyens qui, conscients de ce fossé, veulent devenir des artisans : plutôt que de faire consommer, ils souhaitent enchanter les utilisateurs avec leurs réalisations. Que ces artisans développeurs et citoyens usagers trouvent ensemble un espéranto, voilà notre credo.

Gymkhana, introduction (cache)

Stéphane collabore avec Claude sur Gymkhana depuis maintenant quelques mois. Cet ensemble d’ateliers s’adresse à toutes les structures qui ont du mal à être pertinentes pour les citoyens. Je me demande dans quelle mesure cela pourrait être utilisé pour faire se rencontrer des entreprises et leurs utilisateurs… ou des dirigeants avec leurs employés.

[AFPy Salt-fr] Sprint Salt en marge de la SaltConf

$
0
0

Que diriez vous de venir faire un petit sprint en marge de la SaltConf (qui a prévu un sprint le mercredi 4 mars 2015 en soirée) dans les locaux de Logilab ? Celui-ci aurait donc lieu le même jour, le mercredi 4 mars, de 9h à 18h.

L'idée est d'avoir une vrai session de travail où l'on finisse la journée avec des contributions à salt (documentation, code, tests, etc). On pourra aussi en profiter pour discuter technique et échanger sur nos pratiques.

En 2013, Logilab avait déjà fait un sprint saltstack, qui malgré des problèmes d'électricité s'était plutôt bien passé.

Pour qu'on puisse savoir le nombre de participants en avance, merci de remplir le framadate (avec possibilité de participer sur IRC, mais bon, c'est pas idéal).

[afpy.org] Un MOOC en français sur Python

$
0
0
Le premier MOOC en français dédié à l'apprentissage du langage Python a été annoncé sur FUN, la plateforme de MOOC du ministère de l’enseignement supérieur.

[AFPy-Nantes] Premier meetup Python 2015 !

$
0
0

Pythonistes nantais, attaquons l'année 2015 comme il se doit avec un meetup dès la fin de ce mois de janvier, le 27, toujours à partir de 19h à la Cantine.

Pour partir du bon pied, deux présentations vous seront proposées :

  • Pyramid : Pyramid est un framework python léger et pleinement compatible WSGI. Nous présenterons les principaux concept du framework. Création de projet, dispatching vs traversing, rendu de template, sécurité, événements, intégration d'application WSGI tierce.
  • Générateurs & co-routines : Durant cette présentation il sera question du langage Python en tant que tel et en particulier de deux concepts voisins : les générateurs, qui permettent une expression "paresseuse" et les co-routines, qui introduisent un style de programmation relativement méconnu. Après une présentation des aspects syntaxiques, nous pourrons échanger sur les cas d'utilisation possibles de ces concepts.

Nous espérons donc vous compter nombreux parmi nous le 27 janvier à la Cantine, ainsi pour le verre qui s'en suivra probablement :).

Si vous avez des questions ou des remarques concernant nos meetups, rejoignez-nous sur le chan IRC de l'AFPy Nantes ou inscrivez vous sur la liste de diffusion . :)

À bientôt !

[cubicweb] CubicWeb roadmap meeting on January 8th, 2015

$
0
0

The Logilab team holds a roadmap meeting every two months to plan its CubicWeb development effort. The previous roadmap meeting was in November 2014.

Here is the report about the January 8th, 2015 meeting.

Christophe de Vienne (Unlish) and Aurélien Campéas (self-employed) joined us to express their concerns and discuss the future of CubicWeb.

Versions

Version 3.18

This version is stable but old and maintained (current is 3.18.7).

Version 3.19

This version is stable and maintained (current is 3.19.8).

Version 3.20

This version has been released a few days ago. It has not been deployed on production systems yet.

Its main features are:

  • virtual relations: a new ComputedRelation class can be used in schema.py; its rule attribute is an RQL snippet that defines the new relation.

  • computed attributes: an attribute can now be defined with a formula argument (also an RQL snippet); it will be read-only, and updated automatically.

    Both of these features are described in CWEP-002, and the updated "Data model" chapter of the CubicWeb book.

  • cubicweb-ctl plugins can use the cubicweb.utils.admincnx function to get a Connection object from an instance name.

  • new 'tornado' wsgi backend

  • session cookies have the HttpOnly flag, so they're no longer exposed to javascript

  • rich text fields can be formatted as markdown

  • the edit controller detects concurrent editions, and raises a ValidationError if an entity was modified between form generation and submission

  • cubicweb can use a postgresql "schema" (namespace) for its tables

  • cubicweb-ctl configure can be used to set values of the admin user credentials in the sources configuration file

For details read list of tickets for CubicWeb 3.20.0.

We would have loved to integrate the pyramid cube in this release, but the debian packaging effort needed by the pyramid stack is quite big and is acceptable if we target jessie only (at decent price).

Version 3.21

For now, the roadmap for 3.21 is still the complete removal of the dbapi, the merging of Connection and ClientConnection.

Integrate the pyramid cube to provide the pyramid command if the pyramid framework can be imported.

Integration of CWEP-003 (FROM clause for RQL) and CWEP-004 (cubes as standard python packages) is being discussed.

Version 4.0

We expect to accelerate development of CubicWeb 4, which exact roadmap is still to be discussed, but we may already want:

  • be pyramid-based (remove twisted, auth management, etc.),
  • do not have anything left of old dbapi and ClientConnection,
  • integrate squareui as main (and only) web-ui "template" or remove web generation (almost) completely from cubicweb-core and provide it only through the cube system.

Agenda

Next roadmap meeting will be held at the beginning of march 2015 at Logilab. Interested parties are invited to get in touch.

Open Discussions

Refactoring the documentation

Christophe de Vienne suggested to completely revamp the documentation and intends to lead this effort.

Training material

Aurélien Campéas asks if Logilab would be willing to share its training material under a free license to help interested parties organize and sell trainings.

Towards making squareui the default rendering engine for cubicweb

We are expecting to be able to use squareui/bootstrap as "rendering engine" for our forge applications (like http://www.cubicweb.org and http://www.logilab.org) as soon as possible. However to achieve to goal, there are still too many "visual bugs", some of which may require a discussion.

Among others:

  • put the ctxtoolbar component in the <nav> div
  • each box component should have an icon (what API for this?)
  • we cannot easily make the left column of the main template responsive-aware (requires to change the html flow), so it's probably best to take inspiration from things like http://wrapbootstrap.com/preview/WB0N89JMK
  • facet boxes are a mess, there is no simple solution to have a "smart layout"

Migration

  • AppObjects should not be loaded by default
  • Have a look at Alembic the migration tool for SQLAlchemy and take inspiration from there.

[sciunto] Don du mois : archlinux

$
0
0

Je trouve intéressante l'idée de Sam et Max de présenter les organisations pour lesquelles on a donné quelques euros (il n'y a pas de petit don). Je me lance donc aussi dans l'idée.

Ce mois-ci, ce fût archlinux, $5. Les raisons sont les suivantes :

  • Grande qualité et rapidité des mises à jour, je n'ai jamais eu de problème majeure, au pire quelques petits désagréments qui se sont résolus très vite.
  • Wiki clair et à jour, on y trouve beaucoup d'informations pertinentes et de qualités.
  • Forum agréable, mes rares questions ont trouvé réponse, les dev de la distribution prennent le temps de répondre.
  • Enorme choix de paquets, notamment grâce à AUR auquel je participe. Pouvoir faire mes propres paquets est une raison qui motive mon choix pour cette distribution.
  • J'utilise cette distribution depuis 4 ou 5 ans maintenant. L'installation n'est faire qu'à l'achat de ma machine.
  • J'ai la dernière version de tous les composants, je ne me pose aucune question lorsque j'utilise une lib ou un soft pour mon travail.

Je donne donc à archlinux pour cette satisfaction quotidienne.

Pour donner à archlinux.

[carlchenet] Le Journal Du Pirate, nouveau média propulsé par un Logiciel Libre qui trouve sa place

$
0
0
Suivez-moi aussi sur Identi.ca  ou Twitter  ou Diaspora* Un peu plus d’une semaine après le lancement en grande pompe du Journal du Pirate, site d’infos participatif francophone inspiré de son grand frère américain Hacker News, nous revenons sur le parcours de ce nouveau média propulsé par un Logiciel Libre. Quelques statistiques intéressantes à nos yeux…

[raspberry-python] L'étonnant Python: à grande échelle

$
0
0

Perception

De temps a autres, j'entends dire des choses complètement ridicules:

"Ah oui vous utilisez Python. Je connais, c'est un langage de programmation pour écrire des petits scripts, ce n'est pas utilisable à grande échelle.

(En fait il y avait 2 autres points encore plus ridicule dans cette conversation, j'y reviendrai plus tard)

Réalité

Une connaissance travaille chez Bank Of America sur le programme Quartz. Ils sont passes de 0 a 5000 développeurs Python et des millions (plus de 10) de lignes de code en quelques années seulement. On parle de la même échelle pour YouTube. Les projets de 10 millions+ de lignes de code Python sont rares bien sur, mais ce n'est pas du a une raison technique, mais plutôt parce que l'on accomplis beaucoup en peu de lignes de code.

François
@f_dion

[AFPy-Nantes] Meetup Python du 23 décembre : boire un verre !

$
0
0

Ce mardi 23 décembre, nous proposons au pythonistas de Nantes de se retrouver pour prendre un verre.

Le rendez-vous est à 19h au Delirium Tremens, 19 allée Baco à Nantes.

Certains seront absents, le système de distribution du Père Noël semble-t'il repose sur Python (ce qui explique peut-être qu'il dépasse celui d'Amazon écrit en Perl !).

Joyeuses fêtes !

[afpyro] AFPyro à Lyon - mardi 16 décembre

$
0
0

Un Afpyro aura lieu le mardi 16 décembre à partir de 20h à l’Antre Autre - 11 rue Terme - 69001 Lyon.

Une présentation sur Sentry sera donnée. Sentry est un logiciel permettant de suivre les erreurs pouvant se produire dans vos applications.

L’Antre Autre est un lieu où nous pouvons discuter autour d’un verre, et, pour ceux qui le souhaitent, prendre un repas.

Pour se rendre à l’Antre Autre :

  • en métro : arrêt Hôtel de Ville
  • en bus : lignes C13 et C18 arrêt Mairie du 1er ou lignes 19, C14 et C3 à l’arrêt Terreaux
  • en vélo’v : stations Place Sathonay, Carmélites Burdeau, Place de la paix

[carlchenet] On vient de perdre le serveur, t’as vérifié les sauvegardes récemment ? ooooooooups

$
0
0
Suivez-moi aussi sur Identi.ca  ou Twitter  ou Diaspora* Le titre évoque une situation malheureusement bien connue des sysadmins. Pour éviter cette situation, Backup Checker est un programme en ligne de commande codé en Python permettant le contrôle automatisé de l’intégrité d’archives (tar, gz, bzip2, lzma, zip) et de la cohérence des fichiers à l’intérieur des…

[afpyro] AFPyro à Bruxelles (BE) - vendredi 6 Mars

$
0
0

Un Meetup/AFPyro aura lieu le vendredi 6 Mars à partir de 19h à la Mort Subite - Rue Montagne-aux-Herbes Potagères 7, Brussels.

Pour s’inscrire: http://www.meetup.com/Belgium-Python-Meetup-aka-AperoPythonBe/events/220506641/

En plus des Francophones, des Néerlandophones seront également présents.

Chacun pourra parler sa langue pendant le drink, par contre, les présentations seront en anglais pour être compréhensibles de tous.

Les présentations

  • AI: Curious Actors by Michael
  • Write and prod an efficient REST API with API-Hour in 5 minutes by Ludovic
  • Tool discovery : Plumbum by Fabien
  • Python Belgium Association by Stephane

Prérequis

Pour plus d’intéractions pendant les présentations, vous pouvez venir avec votre laptop, en ayant installé au préalable:

  • wrk si vous voulez essayer de faire tomber le daemon API-Hour de Ludovic
  • plumbum et un serveur distant afin de tester les scripts proposés par Fabien

[logilab] Generate stats from your SaltStack infrastructure

$
0
0

As presented at the November french meetup of saltstack users, we've published code to generate some statistics about a salstack infrastructure. We're using it, for the moment, to identify which parts of our infrastructure need attention. One of the tools we're using to monitor this distance is munin.

You can grab the code at bitbucket salt-highstate-stats, fork it, post issues, discuss it on the mailing lists.

If you're french speaking, you can also read the slides of the above presentation (mirrored on slideshare).

Hope you find it useful.

[AFPy-Nantes] Un meetup pour fêter le printemps !

$
0
0

Lors de notre prochain meetup, le 24 mars à 19h à la Cantine, deux sujets très pythoniques vous seront proposés par nos orateurs :

  • Présentation d'asyncio (par Gaël) : La bibliothèque Python 3 asyncio fournit une infrastructure pour écrire du code concurrent mono-threadé en utilisant les coroutines, multiplexer des entrées-sorties à travers des sockets ou d'autres ressources, faire tourner des clients et serveurs réseaux, ...
  • Tests unitaires en python (par Thomas) : Python nous offre par défaut des outils terriblement pratiques pour la mise en place de tests automatisés. Nous aborderons la question de l'utilité et de la pertinence de ces tests unitaires, la mise en oeuvre basique du module unittest. Nous expliquerons ensuite le sujet des fixtures, puis nous irons un peu plus loin, avec le concept de Factory. Enfin, nous présenterons certains modules de tests alternatifs.

Nous espérons vous compter aussi nombreux que d'habitude à ce meetup ainsi qu'au verre qui s'en suivra.

Rejoignez-nous sur le chan IRC de l'AFPy Nantes ou inscrivez vous sur la liste de diffusion . :)

À bientôt !

[AFPy Salt-fr] Compte rendu du sprint chez Logilab

$
0
0

Juste un petit post pour dire que le sprint sur Salt a rassemblé 7 personnes dans les locaux de Logilab et que nous en avons bien profité et réussi à produire quelques contributions à salt (patches de codes, réflexions sous forme de tickets, etc).

Participants au sprint Salt 2015

Merci à tous les participants d'être venus contribuer et échanger.

Le compte rendu détaillé en anglais est publié sur un blog de Logilab : A report on the Salt Sprint 2015 in Paris

[sciunto] Don du mois : pitivi

$
0
0

Ce post s'inscrit dans la série des dons pour vous donner envie de contribuer même très modestement à des logiciels libres. Les petites pierres font les grands édifices.

Ce mois-ci (en fait le mois précédent, mais je n'ai pas eu le temps de faire le billet), ce fût pitivi, $5. Pitivi est un logiciel graphique de montage video. Les raisons sont les suivantes :

  • Un logiciel qui a de l'ambition.
  • Il a pour objectif de combler un manque réel dans le logiciel libre et c'est la source d'un reproche que j'entend fréquemment.
  • J'ai pu obtenir de l'aide des devs quand j'ai bêtement raté ma compilation.
  • La campagne n'a pas encore atteint son objectif et elle débloquera des nouvelles fonctionnalités.

Même si je n'utilise pas ce logiciel fréquemment, il m'a rendu quelques services et il est clairement utile selon moi pour les utilisateurs de solutions libres.

Pour donner à pitivi.

[logilab] A report on the Salt Sprint 2015 in Paris

$
0
0

On Wednesday the 4th of march 2015, Logilab hosted a sprint on salt on the same day as the sprint at SaltConf15. 7 people joined in and hacked on salt for a few hours. We collaboratively chose some subjects on a pad which is still available.

http://www.logilab.org/file/248336/raw/Salt-Logo.png

We started off by familiarising those who had never used them to using tests in salt. Some of us tried to run the tests via tox which didn't work any more, a fix was found and will be submitted to the project.

We organised in teams.

Boris & Julien looked at the authorisation code and wrote a few issues (minion enumeration, acl documentation). On saltpad (client side) they modified the targeting to adapt to the permissions that the salt-api sends back.

We discussed the salt permission model (external_auth) : where should the filter happen ? the master ? should the minion receive information about authorisation and not execute what is being asked for ? Boris will summarise some of the discussion about authorisations in a new issue.

http://www.logilab.org/file/288010/raw/IMG_3034.JPG

Sofian worked on some unification on execution modules (refresh_db which will be ignored for the modules that don't understand that). He will submit a pull request in the next few days.

Georges & Paul added some tests to hg_pillar, the test creates a mercurial repository, adds a top.sls and a file and checks that they are visible. Here is the diff. They had some problems while debugging the tests.

David & Arthur implemented the execution module for managing postgresql clusters (create, list, exists, remove) in debian. A pull request was submitted by the end of the day. A state module should follow shortly. On the way we removed some dead code in the postgres module.

All in all, we had a some interesting discussions about salt, it's architecture, shared tips about developing and using it and managed to get some code done. Thanks to all for participating and hopefully we'll sprint again soon...

Viewing all 3409 articles
Browse latest View live