POCHE est une application web pour gérer une liste de lectures à lire plus tard. Grâce à un bookmarklet, vous sauvegardez facilement un lien dans votre POCHE. POCHE sauvegarde le contenu entier d’un lien : les textes et les photos sont enregistrés sur votre serveur (mais pas la pub!). Ensuite vous pouvez lire une page dans une vue confortable.
C'est une alternative open source à Pocket / Readability / Instapaper. Vos données vous appartiennent et ne dépendent pas d'une société. Pour éviter ce qui nous est arrivé avec Google Reader, prenez les devants avec Pocket & co.
Voici les principales modifications de la version 1.0 :
- possibilité de traduire POCHE (à venir : français, allemand, espagnol et chinois) ;
- remplacement de RainTPL par Twig ;
- stockage possible : SQLite, MySQL et PostgreSQL ;
- énorme refactoring ;
- à la suppression d’un lien, plus de confirmation ;
- import depuis pocket / readability / instapaper depuis l’écran de configuration ;
- notification de mise à jour disponible depuis l’écran de configuration ;
- plus du tout de javascript ;
- possibilité de créer des thèmes ;
- pagination à l’affichage des liens ;
- partage par email et sur twitter ;
- nouveau design, plus adapté aux tablettes / smartphones (on rencontrait des problèmes avec l’ancienne interface) ;
- multi-utilisateurs (techniquement, c’est pensé pour, une interface d’admin viendra) ;
- extension pour Chrome disponible ici ;
Pour télécharger / installer, la lecture du billet sur le site de POCHE est vivement conseillée.
Aller plus loin
- Site officiel de poche (916 clics)
- Démonstration (482 clics)
- Le projet sur github (108 clics)
- Groupe de discussions (279 clics)
# Couleurs favorites des dévs : #000000 et #FFFFFF
Posté par JGO . Évalué à 3. Dernière modification le 08 août 2013 à 16:50.
Le site web est joli, très coloré. Quel dommage que l'application soit en noir et blanc.
Envisagez-vous :
La dépêche dit que le texte et les images sont téléchargées sur mon serveur. Pourtant quand je lis une nouvelle sur le site de démonstration (par exemple Attaqué par un requin, il réplique au taser, login poche/poche), l'image (le maitre-nageur) provient d'un autre domaine. Pouvez-vous expliquer ?
Merci pour la dépêche et pour l'application, ce sera très utile. J'hésite un peu à installer. Je ne veux pas dépendre d'entreprises extérieures et je suis content que POCHE me permette d'éviter cela, mais mes compétences en bases de données sont limitées et j'ai peur qu'une upgrade future se passe mal. Qu'avez-vous prévu pour garantir la pérennité des données au cours des migrations ?
[^] # Re: Couleurs favorites des dévs : #000000 et #FFFFFF
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 6.
En effet, c'est très sobre. Priorité au contenu, c'est fait pour lire, on n'est pas dérangé par le reste. Mais il y a la possibilité de créer des thèmes (avec plein d'autres couleurs donc).
Et je recherche toujours un infographiste qui pourrait nous dépanner.
ces 3 fonctionnalités sont prévues, elles sont déjà dans les tickets sur github.
pour les images, la configuration le permet. Pour ne pas surcharger la démo, c'est désactivé, mais ça se remet facilement (par contre, il y a encore quelques soucis de ce côté-là).
Concernant les mises à jour, c'est prévu : déjà là, il y a un script qui s'occupe de mettre à jour de la 0.3 à la 1.0.
[^] # Re: Couleurs favorites des dévs : #000000 et #FFFFFF
Posté par François (site web personnel) . Évalué à 4.
J'adore le noir et blanc. Ca repose. Si vous changez, gardez au moins ce mode là activable :)
Pour l'export, je dis +1. Des formats de type markdown/rest me sembleraient intéressants. Pandoc pourrait aider. Je l'utilise déjà dans le cadre de ikiwiki.
[^] # Re: Couleurs favorites des dévs : #000000 et #FFFFFF
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 5.
Je note vos idées.
Par défaut, ça reste blanc / noir.
à venir : noir / blanc (si, si c'est différent ;-) pour la nuit)
puis d'autres thèmes …
[^] # Re: Couleurs favorites des dévs : #000000 et #FFFFFF
Posté par LeMarsu . Évalué à 4.
Dans l'export de données, est-ce que vous comptez faire un export PDF et/ou epub ? Avec le fait que vous absorbiez le contenu pour être lu "hors ligne", cela serai juste une super fonctionnalité. En plus, le epub, c'est du HTML zippé (en gros), et c'est juste parfait pour lire sur tablette.
Si vous faites ça, j'installe directement Poche. En attendant, je vais certainement tester, n'ayant jamais pu franchir le pas de ReadItLater ou autre, parce que je n'aime pas confier mes données à un tiers.
[^] # Re: Couleurs favorites des dévs : #000000 et #FFFFFF
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
Bonjour LeMarsu,
L'export epub est prévu ici https://github.com/inthepoche/poche/issues/79
À bientôt sur poche alors !
[^] # Re: Couleurs favorites des dévs : #000000 et #FFFFFF
Posté par LeMarsu . Évalué à 1.
Héhé, en effet, je vais peut-être tester encore plus tôt que prévu !
Bonne nouvelle. À bientôt !
# Liens avec Shaarli ...
Posté par sifu . Évalué à 4.
Bonjour,
Utilisateur de Sharlii, je me pose la question d'un pont entre les deux.
Une fois que j'ai lu, par exemple, j'aimerais bien pouvoir sauver cela rapidement dans Sharlii si le lien valait le coup.
D'autre part, ce serait pas mal de pouvoir tagger les liens.
Merci.
[^] # Re: Liens avec Shaarli ...
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
bonjour !
Comme je le dis au-dessus, les tags sont prévus (cf ticket sur github).
Pour le pont avec shaarli, je vais le rajouter dans la todo list, bonne idée.
[^] # Re: Liens avec Shaarli ...
Posté par barmic . Évalué à 2.
Je ne comprends pas bien l'intérêt. shaarli et poche ont le même but : stocker des liens. Je vois pas bien l'intérêt d'en garder un sur les deux ou alors c'est le fait de stocker sur ton serveur les info qui t'intéresse et alors c'est plutôt l'inverse qu'il faudrait, mais je ne vois pas l'intérêt de passer par shaarli du coup.
Bref pour moi, il me semble que c'est plutôt 2 concurrents qui ont leurs avantages et leurs inconvénients. Si un rapprochement se fait je pense que c'est plus pour l'intéropérabilité.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Liens avec Shaarli ...
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 3.
Bonjour Michel,
Je ne vois pas poche comme un concurrent de shaarli.
As-tu testé poche ? Le but ici est de conserver pour lire plus tard. C'est fermé pour chaque utilisateur.
Shaarli, c'est pour partager, rien que là c'est une grosse différence.
Ensuite; le contenu : poche récupère le contenu de l'article.
Shaarli fait un lien vers l'article.
poche = pocket
shaarli = delicious
[^] # Re: Liens avec Shaarli ...
Posté par barmic . Évalué à 2.
Oui et c'est comme ça que je me sert de Shaarli.
J'ai vu dans le bug tracker sur github que c'était en discussion.
Ce n'est pas parce qu'ils n'ont pas exactement les même fonctionnalités qu'ils ne sont pas concurrents ;)
Je comprends. Ça se tiens.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
# Fête du slip
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 10.
Bon, comme d'habitude, je suis allé regarder le code source. Et je n'ai pas été déçu. je ne vais m'étendre sur l'usage du français et des caractères UTF-8, l'ami Nicolas semble joueur.
Utilisation de données externes sans contrôle :
curl_init n'échoue jamais, pas plus que ces petis copains il faut croire ;)
inc/functions.php:60
Quelque soit la valeur numérique de $httpcode, $httpcodeOK sera vrai. La raison en est la précédence des opérateurs (l'affectation est prioritaire sur les opérateurs 'and' et 'or').
'and' n'est pas l'équivalent de '&&'.
J'aime beaucoup le salt public dans inc/config.php
La classe Store devrait être une interface.
Je ne comprend pas pourquoi le constructeur du parent (vide en plus) est appelé dans certaines méthodes de la classe SQLite.
Plus généralement, tu indique dans la documentation :
Déjà, tu considère que tout le monde utilise Apache ou Nginx, ce qui est une erreur. Ensuite, tu t'appuye sur un cache-misère pour éviter un accès direct au fichier de base de données. Une bonne pratique est de fournir un répertoire public, qui est exporté par le serveur web, plutôt que d'exporter tout le répertoire applicatif.
La regex sur les email est fausse :'( Une bonne pratique est d'utiliser filter_var plutôt que de faire le malin avec une regex pourrie.
functions.php pourrait avoir un nom un peu plus parlant.
Allé, j't'ai fait un p'tit Pull Request.
[^] # Re: Fête du slip
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 10.
Bonsoir LupusMic !
Merci pour ton message et ton pull request.
Comme je te l'ai dit sur github, tu as regardé le code de la branche master.
Merci de prendre en compte la branche de dev ;-)
Oui il y a du mauvais code dedans. Et même s'il n'est pas entièrement de moi, j'en ai la responsabilité.
C'est pourquoi nous ne sommes encore qu'en beta et que toute aide, comme la tienne avec ta pull request, est la bienvenue.
Je suis au début partie d'un script pas propre, j'essaie de tout refaire au mieux. Il faut juste me laisser le temps.
À bientôt !
[^] # Framework web
Posté par JGO . Évalué à -1.
On lit des tas de trucs méchants concernant PHP (Why PHP sucks et suivre les liens du paragraphe Other Anti-PHP Sites). Vu la taille de la base de code disponible, on peut comprendre que dans de nombreux cas où on étend un programme existant, il n'y ait pas le choix. Mais pour un code entièrement nouveau, il y avait de nombreux frameworks possibles. Par exemple très récemment, on découvrait sur linuxfr cozycloud, tout jeune logiciel web en python, concurrent d'un plus ancien logiciel en PHP (owncloud). D'où ma question : qu'est-ce qui a motivé le choix du langage dans le cas de poche ?
[^] # Re: Framework web
Posté par Larry Cow . Évalué à 9.
Je ne sais pas pour Poche, mais PHP garde un atout majeur comparé à la plupart (totalité?) des autres solutions : il se déploie sans effort sur 99% des offres d'hébergements, même les moins onéreux.
[^] # Re: Framework web
Posté par El Titi . Évalué à 2.
Un peu comme le flash quoi.
Ca c'est un argument qui fera changer le choses
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 2.
Avant d'utiliser un Framework, il faut déjà maîtriser PHP.
Utiliser un Framework, c'est choisir une architecture, se limiter à un sous-ensemble de PHP.
Personnellement, aucun framework PHP ne me plait. Python n'est pas objet (pas de modificateurs de visibilité, donc pas d'encapsulation, donc pas objet), et surtout avant de pouvoir déployer du Python, il faut réfléchir plus que pour du PHP.
Si PHP continue à avoir tant de succès, c'est parce que n'importe quel demeuré peut immédiatement publier son script troué sans effort. Ce qui rend donc la technologie moins cher, puisqu'on peut embaucher des imbéciles qui feront des scripts pas plus pourris que les autres.
:)
[^] # Re: Framework web
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 2.
Allez, on va dire que j'ai appris à te connaitre depuis hier :-) donc je ne le prends pas pour moi.
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 0.
Ouais, tu sais que je fais partie de cette plèbe de demeurés ;)
[^] # Re: Framework web
Posté par JGO . Évalué à 4.
L'argument est valable pour un environnement d'entreprise, mais pour un projet de passionné comme Poche, il était libre de son choix. Je retiens l'argument du déploiement pour Poche, qui doit être installable par un particulier louant un serveur mutualisé ou virtuel aux caractéristiques limitées.
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
C'est pourtant assez lié, on a tendance à developper les compétences qu'on espère utiles au travail, pour faire la différence ou avoir un travail pour manger.
Par contre, pour l'hébergement virtuel, l'argument ne vaut pas. Tu installe ce que tu veux sur un virtuel puisque c'est une machine complète. Et Python (ou Ruby, ou autre Perl) ne mange pas plus de ressources qu'un déploiement PHP, et mod_wsgi est assez équivalent à un déploiement PHP.
[^] # Re: Framework web
Posté par JGO . Évalué à 3. Dernière modification le 09 août 2013 à 13:25.
Je compare cozycloud (python) à owncloud (php), deux logiciels ayant le même niveau de fonction :
Ça pourrait être que cozycloud est mal codé et bouffe trop de mémoire pour rien, mais en l'occurrence aucun commentaire ne critique la qualité du code, alors que les problèmes liés au déploiement sont critiqués : nécessité de compiler un module avec gcc ; nombre d'appliquettes affichées sur la page d'accueil.
[^] # Re: Framework web
Posté par Frank-N-Furter . Évalué à 5.
Cozycloud c'est du node.js, le python c'est juste le script d'installation.
Depending on the time of day, the French go either way.
[^] # Re: Framework web
Posté par JGO . Évalué à 2.
ok merci j'avais mal interprété.
[^] # Re: Framework web
Posté par ariasuni . Évalué à 3.
C'est pas parce qu'il n'y a pas de modificateurs de visibilité que ce n'est pas objet, on met un _ devant les trucs privés et l'utilisateur de la classe sait que ça ne doit pas être utilisé de l'extérieur. Cf. la devise de Python.
Écrit en Bépo selon l’orthographe de 1990
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
L'encapsulation des données est un principe fondamental de la programmation orientée objet, et que je considère comme central. Python ne propose pas de tels mécanismes, mais propose uniquement d'adopter une convention qui sera violée comme toutes les conventions. Ce n'est pas une encapsulation propre.
La programmation objet à pour but d'encapsuler des mécanismes et d'en exposer une interface simple d'utilisation. S'il est possible facilement de venir foutre le bordel, il n'y a plus d'intérêt à faire de l'objet.
Quand à la devise de Python, elle est tellement ridicule que je ne comprends toujours pas comment des gens peuvent continuer à la défendre. Surtout dans un langage où l'implicite est malgré tout très présent.
[^] # Re: Framework web
Posté par ariasuni . Évalué à 1.
Les conventions disent d'indenter proprement, de mettre les noms de constantes en capitales, et de ne pas utiliser des variables membres préfixées de _ en dehors de la classe (en plus c'est pratique de le savoir au sein de la classe en un coup d'œil).
C'est pas dur. Mauvais dèv, changer de dèv.
Je t'écoute.
Exemple?
(je m'y connais pas spécialement en Python)
Écrit en Bépo selon l’orthographe de 1990
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 5.
Ce n'est pas une convention. Un programme Python est naturellement indenté, car l'indentation est utilisée pour distinguer les blocs de code, là où le C (et inspirés) utilise des accolades.
Ce qui est un aberration. Il ne peut pas y avoir de constante en Python, donc aucune variable ne peut voir son nom être capitalisée… à moins d'utiliser un décorateur, j'avoue.
Ceci dit, j'ai arrêté de capitaliser les constantes :
en SQL, j'ai même arrêter d'écrire les clauses en majuscules. Un jour, j'essaierai de comprendre pourquoi tout le monde écrit ses requêtes en majuscules.
C'est moche les majuscule, et c'est la seule raison pour laquelle j'ai réellement bannit les allcaps.
Les pythonistes prétendent privilégier l'explicite sur l'implicite. D'où découle, entre autres absurditées, l'inutile self comme argument de chaque fonction membre.
Pourtant, il y a des choses implicites. Par exemple, les invariables sont copiés quand passés en argument, ou encore assigné à une variable. Le ducktyping : il n'y a pas plus implicite que le ducktyping, puisque tu suppose que l'objet qui t'es donné réagi comme tu t'y attends. L'absence totale de typehinting : ce qui est explicite, c'est de dire quel type/interface tu attends en argument, pas de le dire vaguement dans le doc ou laisser le plaisir de la lecture de la fonction.
Et pourquoi ne pas utiliser l'hungarian notation tant qu'on y est ? J'utilise _ pour préfixer, j'ai même essayer _classname_varname pour améliorer ça, mais ça reste encore de la convention, on peut saloper depuis l'extérieur de la fonction.
Entendons-nous bien, je considère qu'un langage de programmation est un outil pour exprimer des idées, des concepts. S'il faut passer des heures pour une erreur de typo (oh, mais c'est length, pas lenght) parce que le langage est laxiste, je dis non. je veux que mon programme échoue le plus tôt possible, pour que je puisse corriger les problèmes, je ne veux pas que le programme tombe en marche et erre dans un état indéterminé.
On peut ensuite s'amuser à contrôler chaque argument de chaque fonction, qu'il expose la bonne interface, que l'attribut machin expose la bonne interface, etc. Mais franchement, pourquoi est-ce que c'est à moi de contrôler ça manuellement en 3 lignes de code alors que le langage peut être utilisé à cette fin ?
[^] # Re: Framework web
Posté par ariasuni . Évalué à 1.
En fait là je parlais en général. Et puis tu peux utiliser les accolades en Python! :p
Lapin compris (j'ai fait très très peu de PHP).
Ah, j'y avais pas pensé.
Ok, m'enfin quand même. Si les gens sont pas foutu de comprendre qu'il ne faut pas modifier une variable… (même si je regrette l'absence de const en Python)
?
Entièrement d'accord.
Ou sinon on privilégie l'efficacité à l'esthéthique, et des fois savoir que c'est une constante au premier coup d'œil ça peut être pratique.
En effet.
J'avoue que je n'ai pas (encore) rencontré d'exemple de duck typing.
En effet, c'est dommage.
Si les gens font de la merde aussi, ils peuvent en faire dans tous les langages.
Pour le reste, on peut utiliser des outils comme Pylint, ou même le compiler vers un autre langage (C, Java, C#).
Je ne suis pas défenseur à tout prix de Python mais il faut reconnaitre qu'il est pratique pour des petits ou moyens projets.
Écrit en Bépo selon l’orthographe de 1990
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
Non, les accolades, en Python, c'est pour les dict.
Dans l'exemple suivant, au niveau global, answer nomme une constante, une classe et une variable.
Dans le cas de PHP, la question ne se pose pas, car le contexte indique directement qu'on a une constante. Ceci dit, je ne vois pas pourquoi je devrais considérer une variable différemment selon que c'est une constante ou non. Dans le cas de Python, c'est trompeur, puisque les constantes n'existent pas.
Oh si, tu as dû. Le ducktyping vient d'une idée très simple : jusque là, tout va bien. En fait, tant que l'objet que tu manipule se comporte comme ce à quoi tu t'attends, tout va bien. En gros, ce qui marche comme un canard, est un canard. Bref, une oie est un canard par exemple. C'est génial quand tu fais un prototype, mais ça devient un enfer sur un projet plus important.
Non. C'est une erreur habituelle à mon sens. Un langage exigeant ne permettra pas à l'incompétent de croire qu'il peut écrire une application de facturation en quelques clicks. Apprendre des langages exigeant comme Ada ou C++, ça permet de structurer sa pensée, ce qui permet d'utiliser des outils plus laxistes pour prototyper. Mais au final, il faudra bien structurer.
Les outils pour analyser le code sont légions, et très utiles. Je les utilises systématiquement, et en compléments les tests unitaires et fonctionnels. Quand à compiler, je ne vois pas l'intérêt de compiler du code bancal : tu n'auras pas magiquement le type hinting, par exemple.
[^] # Re: Framework web
Posté par GuieA_7 (site web personnel) . Évalué à 4.
Marrant, à partir du même constat technique, je fais la conclusion inverse. Le manque de
const
en Python est éventuellement un problème ; mais si de toutes les façons tu fais un projet en Python, et que tu as besoin d'une constante, pourquoi risquer de te tromper toi-même en ne la mettant pas en majuscule ? Si en faisant la revue de code d'un de mes dev il me fait unmodule.MYCONST = blabla
, je le vois immédiatement et il a droit a coup de pied au cul (virtuel). C'est sûrement pourquoi en 10 ans de Python ce n'est pas quelque chose qui m'a provoqué un seul bug je pense (d'autre trucs oui, mais pas ça).[^] # Re: Framework web
Posté par tyoup . Évalué à 3.
Oh ben oui c'est fou comme on apprend vite à structurer sa pensée quand on oublie un ; après la définition d'une classe dans un .h en C++.
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
En effet, ça structure énormément. Je n'oublie plus ce maudit point-virgule depuis des années, et l'utilises pour documenter.
[^] # Re: Framework web
Posté par barmic . Évalué à 3.
Ce n'est ni inutile ni absurde, ça viens juste d'une idée grotesque : pouvoir ajouter/modifier les méthodes d'une classe ou d'un objet dynamiquement. Ça sert à rien mais ça tue les perf (oui les new style class existent mais ce n'est pas assez utilisé).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Framework web
Posté par xcomcmdr . Évalué à 1. Dernière modification le 11 août 2013 à 11:56.
C'est pas forcément grotesque (c'est parfois utile en dernier recours), c'est surtout vite mal utilisé.
(d'où les 'refinements' en Ruby 2.0)
"Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)
[^] # Re: Framework web
Posté par GuieA_7 (site web personnel) . Évalué à 3.
Je rejoins le commentaire de xcomcmdr, ça fait partie des outils à manipuler avec précaution et le moins possible (comme l'assembleur inline en C par exemple), mais qui peuvent te sauver la vie.
Sur ton propre code c'est en effet assez inutile, en revanche même les meilleures bibliothèques ou frameworks ont des limites qui peuvent te gêner. Forker un framework de 100K lignes de code parce qu'il manque une méthode dans une classe de base (pour ton usage en tout cas) c'est un peu pénible, et maintenir un patch par dessus ça rend ton soft pénible à installer pour tes utilisateurs.
Je fais ça genre 2 fois dans mon soft de 40K lignes de code pour modifier légèrement Django (derrière j'ai ma batterie de tests unitaires qui va bien) ; ça me semble raisonnable, et la moins affreuse des solutions (ça m'économise des milliers de lignes de code).
[^] # Re: Framework web
Posté par barmic . Évalué à 2.
Dans n'importe quel modèle objet tu peut hériter des classes en question, c'est à mon humble avis nettement plus propre car une fois que tu es construis ton objet tu sais qu'il est fini, il faut pas en plus que tu lui ajoute des choses en plus pour le finir. De plus c'est un énorme effet de bord. Si tu passe cet objet en paramètre d'une méthode celle-ci peut écraser ta modification. Enfin ça n'apporte que du sucre syntaxique face à garder la méthode séparée (sachant que garder la méthode séparée permet de ne pas créer d'effet de bord).
Mais surtout, je trouve que pour un usage qui devrait être quasi inexistant, on explique cela bien trop tôt. Comme si c'était une fonctionnalité de base du langage.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Framework web
Posté par GuieA_7 (site web personnel) . Évalué à 2.
Mon problème est que ce n'est pas moi qui instancie les-dits objets, et donc qui choisit leur classe. Donc je pouvais :
Méthode 1:
- Copier toute la machinerie d'instanciation, (et donc la mettre à jour quand Django évolue).
- Dériver de la classe de base pour faire ma propre classe de base, puis refaire toutes les classes filles que me fournit Django (des dizaines). Même remarque sur la maintenance.
- Utiliser ces nouvelles classes dans mon code, et dupliquer les classes fournies en contributions à Django qui utilisent les classes de Django, et pas les miennes forcément.
Méthode 2:
Maintenir les informations supplémentaires que je veux dans un arbre d'objets en parallèle. Ça c'était envisageable (contrairement à la méthode 1), mais ça restait moche, pas très objet pour les utilisateurs du code.
Ma méthode permet d'avoir un résultat élégant (comme si c'était intégré à Django de base), et sans écrire/dupliquer des pans entiers de Django. Je pense donc, dans la mesure où en des années de développement sur ce projet j'ai fait un tel "hack" 2 fois, qu'on se situe dans le domaine du hack intelligent (dont on se serait bien passé mais qui sauve la vie).
Mais oui j'ai fait attention de prendre des noms qui limitent la probabilité de collisions, et mon code est super bien testé (pas pour ce hack en particulier hein, de manière générale). Et je le répète c'est à utiliser en dernier recours.
Mais si Ruby propose ses refinements, C# ses classes d'extensions (je crois), c'est que c'est un vrai besoin. Pas dans le sens où sans ça on ne pourrait pas écrire certains programmes (Turing complete toussa), mains dans le sens où cela apporte une nouvelle solution, meilleure que les autres (ou moins mauvaise) que les autres dans certains cas.
Mes collègues qui font du Java à côté de moi, confrontés au même genre de problème, sont obligés de faire des trucs bien plus crades (surcharge de package, introspection pour modifier des trucs private…).
Ça c'est un autre problème, moi je dis juste que ce n'est pas inutile. Maintenant si je dois faire la promotion de Python, ce n'est pas dit que j'en parle en effet.
[^] # Re: Framework web
Posté par barmic . Évalué à 2.
Le gros avantage c'est que tu sais que cette méthode n'a pas d'effet de bord. Seul ton code accède à ce dont il est le seul à avoir besoin.
Je ne connais pas les refinements de ruby, mais les classes d'extension de C# d'après ce que l'on voit dans le lien plus haut ne permet que d'ajouter des choses, donc les collisions se voient déjà bien mieux.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Framework web
Posté par GuieA_7 (site web personnel) . Évalué à 2.
Tout à fait d'accord, vu que tu répète ce que j'ai dit (peut être pas assez clairement ?). Cette fois, le hack était très peu risqué et avait d'énormes retombées en terme d'élégance dans le reste de l'application, notamment en permettant d'économiser beaucoup de lignes de code. Mais d'autres fois le compromis est beaucoup moins favorable, et je vais faire autrement. En technique, on est sans arrêt dans le compromis.
Mais dans le fond on est d'accord je pense, donc pas la peine de chipoter pendant 3 heures.
Je ne ferai pas de journaux sur Rust en disant que j'ai hâte de m'y essayer si je pensais que l'approche dynamique de Python était l'alpha et l'oméga.
[^] # Re: Framework web
Posté par tyoup . Évalué à 2.
les modificateurs de visibilité sont-ils vraiment nécessaires pour faire de l'encapsulation ? et l'encapsulation est-elle vraiment nécessaire pour faire de l'objet ?
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 2.
Ils sont indispensables, puisque leur absence entraîne une impossibilité d'encapsuler. L'encapsulation, c'est rendre étanche l'état interne d'un système de ces clients, et de fournir aux clients une interface de manipulation.
Bien évidement, les modificateur de visibilité ne garantissent pas l'encapsulation. Nombreux sont les imbéciles à générer automatiquement des getter qui exposent induement un composant interne à l'extérieur. Comme par exemple, le dernier getter proposé dans cet exemple :
On voit bien que dans le premier, la manipulation de l'état interne de l'objet n'est pas possible sans reverse engineering. Dans le second cas, un const_cast est possible, c'est parfois ça le coût de l'optimisation. Dans le dernier cas, c'est la fête du slip : il n'est plus possible de changer d'état sans effet de bord. Sauf à limiter fortement la conception interne de la classe, et c'est là qu'on voit que l'encapsulation n'est plus.
Tu me diras qu'en Python, on s'en fout, on manipule des références.
Au temps pour les références et leur usage incorrect… Alors oui, il est possible de faire la même connerie en C++, conserver l'état et le réutilisé plus tard. Mais la grosse différence, c'est qu'en C++ tu sais que tu acquiert une copie, et que donc c'est copie a une durée de vie courte.
C'est pour ce genre de conneries que j'aime l'encapsulation, l'hermétisme des systèmes et la rigueur.
[^] # Re: Framework web
Posté par tyoup . Évalué à 2.
Je comprends ce que tu dis mais pour moi l'encapsulation doit surtout se faire grâce à une interface. Si un client attaque directement une implémentation et fout la merde, je dirais c'est son problème. À lui d'utiliser l'interface.
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
Justement, l'interface c'est ce qui est publique (ou protégé pour les héritiés). Ce qui est privé relève du détail d'implémentation. C'est ça l'encapsulation, c'est ça le principe fondateur de la programmation orientée objet. Sinon on aurait juste gardé les struct en C.
[^] # Re: Framework web
Posté par tyoup . Évalué à 2.
Ah. Moi je croyais que l'intérêt c'était le polymorphisme, l'héritage, les méthodes virtuelles, tout ça.
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
Le polymorphisme permet de fournir une interface publique dynamique, qu'importe l'implémentation.
L'héritage complet permet d'encapsuler une hiérarchie. Par complet, j'entends celui de C++, qui permet des héritages privés ou protégés, encapsulant ainsi l'héritage.
Je suppose que par "méthodes virtuelles" tu veux parler des méthodes virtuelles pures (sinon tu te répètes :p ). Encore une fois, c'est un moyen d'indiquer une interface, et de déléguer aux implémentations l'encapsulation du problème.
Tu me trouveras certainement monomaniaque, mais au final, quand on réfléchi à tous les avantages de la programmation orientée objet, on en revient toujours à un dénominateur commun : l'encapsulation.
[^] # Re: Framework web
Posté par tyoup . Évalué à 1.
Je pensais au "polymorphisme de méthode"…
Pour ce qui est de l'héritage autre que publique, je ne vois pas trop son intérêt par rapport à la composition…
Ce que je trouve pénible, c'est l'utilisation systématique du maximum de contraintes pour décrire un objet. Pour moi le fait de devoir introduire des contraintes dans une définition est un inconvénient.
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
Ben, c'est ce que permet une fonction membre virtuelle. Donc tu parles de la même chose. Personnellement, je ne connais que deux types de polymorphismes : statique, dynamique. Le premier est résolu à la compilation (en C++, il est obtenu à l'aide de templates) ; le second à l'aide de méthodes virtuelles.
L'héritage privé est l'héritage canonique. C'est pour ça que c'est sa visibilité par défaut en C++. L'intérêt de ce type d'héritage réside dans la dérivation de templates, du genre :
Une composition, dans ce cas, pourrait introduire une indirection, et plus de code (donc statistiquement plus de bogues).
Et malheureusement, la plupart des développeurs pensent comme toi : à mort la rigueur ; personne ne va oser faire ça ; les mutex c'est pour les fillettes ; tout est publique, je n'ai rien à cacher.
Forcer un type permet d'assurer que le code n'échouera pas bêtement.
J'aime être certain que je ne créé pas de variable sans le savoir, en me trompant en tapant la variable.
J'aime savoir si la classe que j'utilise est copiable, clonable, si ces attributs sont en lecture seule ou non, si je peux la dériver, etc. J'aime la certitude, circonscrire les risques, là où tu semble te délecter du risque maximal.
[^] # Re: Framework web
Posté par tyoup . Évalué à 1.
Eh bien on parle aussi parfois de polymorphisme de méthode pour désigner la surcharge par opposition au polymorphisme de type que tu connais. Visiblement c'est un terme qui ne semble pas très répandu, j'ai trouvé peu de références sur le net, en tout cas il était utilisé dans les cours que j'ai eus sur les langages objets.
S'il faut avoir peur d'une simple délégation, où va le monde ? :-)
J'ai pas compris l'exemple que tu as donné, pourquoi ne pas faire ça ? Le template ne fait pas bien son job ?
Pour le reste du commentaire, je n'ai pas envie d'être méchant, alors je n'y réponds pas…
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
J'avais justement parcouru le Web pour tenter de trouver quelque chose, mais rien de bien intéressant. Ça a l'air d'être une lubie d'universitaires franco-français.
Dans ce cas, string_array reste un std::vector. Je ne veux pas exposer l'interface de std::vector, et l'utilisateur n'a pas à savoir comment est implémenté string_array. Bref, dans ton cas, il est possible de confondre des type, puisque string_array est publiquement un std::vectorstd::string.
Ceci implique que n'importe quel std::vectorstd::string peut être fournit en lieu et place de string_array. Donc le jour où tu décide de remplacer std::vectorstd::string par std::vectorstd::string<MonAlloc, MonAlloc>, partout où le code utilisera std::vertorstd::string devront être mis à jour. Alors qu'en étant orthogonal dès le départ, on évite ses blagues.
De plus, il n'est pas possible de restreindre l'usage des méthodes de std::vector.
Bah, plus personne ne nous regarde, on est entre nous, fais-moi mal.
[^] # Re: Framework web
Posté par tyoup . Évalué à 1.
bah si tu aimes être responsable des conneries des autres…
C'est clair qu'en mettant tout privé on évite efficacement les bugs.
[^] # Re: Framework web
Posté par barmic . Évalué à 3.
Ce n'est pas être responsable des conneries des autres, juste fournir un service fiable et simple à utiliser¹. Tu sais qu'aucun client de classe ne pourra faire autre chose que ce que tu prévois de faire. Le fait de limiter ce que tu expose permet d'avoir une bien meilleure couverture de test et un fonctionnement plus fiable. Imagine sur un programme multitâche, une classe qui possède un tableau, qui l'expose et qui dans l'une de ses méthodes itère sur ce tableau. Cette dernière méthode peut planter à tout moment parce qu'entre deux itérations tu aura quelqu'un d'autre qui aura modifié ce tableau.
J'avais écris un journal qui se rapproche un peu de ça. Le fait d'exposer ton état interne pose les même problèmes que le fait d'utiliser des variables globales ça rend le nombre de branches possible trop grande pour être humainement compréhensible.
De manière un peu moins terre à terre le fait d'encapsuler fortement permet d'écrire des modules et/ou des classes plus autonomes, ton gros programmes deviens un ensemble de sous programmes dont l'interface entre eux est totalement maitrisé (tu connais la liste des méthodes qu'il peut appeler sans avoir à imaginer qu'il fait évoluer tel ou tel partie de ton état interne) et c'est donc bien plus simple à maintenir puisque tu peut tout changer (donc y compris la représentation interne de ton état) sans avoir à toucher aux utilisateurs de ta classe.
Ça ne les supprime pas, ça en enlève un certains nombres qui sont potentiellement une plaie à dégager.
D'autre part tu parler de contrainte de type. Je te conseille de regarder ce qui est fait dans les langages fonctionnels ou d'autres comme l'ADA. Dans les quels on peut contraindre les types de manière bien plus forte qu'en python ou C++. C'est enrichissant. Le système de type est un outil du programmeur pas une contraintes (même en python).
¹ : l'objectif ce n'est pas de créer le plus grand nombre de pièges possibles en se disant que ceux qui tombe dedans c'est bien fait pour eux, mais au contraire de limiter les erreurs et de les détecter au plus tôt.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Framework web
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 2.
Il me semble d'ailleurs que cet article a participé à ma compréhension de la programmation orientée objet et fonctionnelle, en plus des ouvrages ou conférences de Stroustrup, Meyers et Sutter.
[^] # Re: Framework web
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 2.
pourquoi PHP et pas python ? parce que je ne maitrise pas python.
[^] # Re: Framework web
Posté par Dominique Feyer (site web personnel) . Évalué à 2.
{{#trollMode}}
Arrêtez avec vos discussions sur le choix des langages et autres "c'est toujours mieux ailleurs", un langage n'est qu'un outil n'importe quel imbécile peut faire un script / programme pourri dans beaucoup de langage … c'est comme pour le français on peut bien parler … mais on peut aussi faire plein de fautes d'otographe … c'est pas pour ça que le français c'est moins bien que l'anglais … quoi que …
{{/trollMode}}
Personnellement, je trouve l'application bien sympa, niveau code, on peut toujours faire mieux et l'équipe semble aller dans le bon sens. Je souhaite un bel avenir à cet outil, et je plussoie une intégration de Sharlii
[^] # Re: Framework web
Posté par JGO . Évalué à 3.
Note que je n'ai pas dit qu'ils auraient dû choisir autre chose, j'ai demandé à l'auteur d'expliquer ce qui a motivé son choix. Il a répondu en disant que c'était le langage qu'il connait, et c'est une bonne réponse.
[^] # Re: Fête du slip
Posté par barmic . Évalué à 5.
C'est déjà pas mal quand on voit le nombre de logiciel qui considèrent juste que tu utilise apache et pour les quels c'est à toi de te fader les réécriture d'url…
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Fête du slip
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
Au départ je n'avais pas vu la partie sur Nginx, mais je me suis dit que le troll vallait quand même, un peu.
Plus sérieusement, ce n'est pas le boulot de l'application d'expliquer comment on configure un autre logiciel. Ou alors, dans un tutoriel, mais à part du logiciel principal.
# Lien cassé
Posté par Remil . Évalué à 1.
Le projet est intéressant mais pour ma part, le lien donné sur la page d'installation pour le téléchargement http://static.inthepoche.com/files/poche-1.0-latest-with-twig.zip ne fonctionne pas.
[^] # Re: Lien cassé
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
Ah en effet.
Voici le bon : http://static.inthepoche.com/files/poche-1.0-latest-with-twig.zip
[^] # Re: Lien cassé
Posté par Remil . Évalué à 0.
Je ne sais pas pourquoi, ce lien ne fonctionne pas non plus.
[^] # Re: Lien cassé
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 3.
Becaucoup de choses ne fonctionnent pas, ça n'aide pas de ne dire que ça pour les résoudre.
Mon Chrome semble ne pas trouver la ressource, par contre w3m télécharge sans problème la ressource.
[^] # Re: Lien cassé
Posté par Remil . Évalué à 2. Dernière modification le 08 août 2013 à 19:56.
Firefox me répond adresse introuvable, wget ne parvient pas à résoudre le nom de domaine et un ping en direction de static.inthepoche.com me revoie unknown host. C'est le seul domaine qui me fait ça.
Édit : lynx, w3m et curl n'y arrive pas mieux depuis chez moi.
[^] # Re: Lien cassé
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
Bah mince alors …
pourtant : http://www.whatsmydns.net/#A/static.inthepoche.com
[^] # Re: Lien cassé
Posté par Remil . Évalué à 1.
Maintenant c'est bon ; je ne comprends pas pourquoi ça n'allait pas. Merci :)
[^] # Re: Lien cassé
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1. Dernière modification le 08 août 2013 à 20:19.
Va directement sur github : https://github.com/inthepoche/poche/releases/tag/1.0-beta1
Par contre, c'est sans twig.
Voici la bonne archive : http://www.inthepoche.com/public/poche-1.0-latest-with-twig.zip
# Hors sujet mais
Posté par glattering . Évalué à 2.
Question a propos de linuxfr:
Je me rappelle qu'avant il y avait une note NEW! (en rouge) devant les commentaires qu'on n'avait pas encore lus. Je ne vois plus cette note (mais sur la page des dépêches on a bien le nombre de commentaires non vus sur la dépêche qui sont affichés).
Je n'ai peut être pas suivi et cette option est activable qqpart? Sinon, je trouve que ca manque cruellement.
Merci et désolé pour le hors sujet.
[^] # Re: Hors sujet mais
Posté par Frank-N-Furter . Évalué à 3.
c'est en fonction de la feuille de style
Depending on the time of day, the French go either way.
[^] # Re: Hors sujet mais
Posté par glattering . Évalué à 0.
Dans ce cas, quelles feuilles de style le gèrent? Car je viens d'en essayer 2-3 (dont celle par defaut) et aucune ne semble mettre en valeur les nouveaux messages…
[^] # Re: Hors sujet mais
Posté par barmic . Évalué à 4.
Si c'est juste plus subtile. Celle par défaut change la couleur des cadres de titres des nouveaux commentaires.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Hors sujet mais
Posté par Frank-N-Furter . Évalué à 4.
Et:
Depending on the time of day, the French go either way.
[^] # Re: Hors sujet mais
Posté par glattering . Évalué à 0.
Ah oui merci. En effet, c'est subtil!
Dommage, j'aimais bien le NEW! en rouge, c'etait visible au premier coup d'oeil en scrollant.
Encore merci.
[^] # Re: Hors sujet mais
Posté par claudex . Évalué à 4.
Tu peux te faire une feuille de style personalisée (basée sur celle actuelle) qui ajoute un
NEW !
rouge devant les nouveaux commentaires.« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Hors sujet mais
Posté par JGO . Évalué à 3.
Je suis comme toi, la feuille de style par défaut m'est inutilisable.
La meilleure que j'ai trouvé pour la mise en valeur des nouveaux messages est cascade-alternative, met en valeur les nouveaux messages avec un fond gris foncé.
[^] # Re: Hors sujet mais
Posté par JGO . Évalué à 2.
Bon je sais pas insérer une image, le lien est : http://pix.toile-libre.org/?img=1376038310.png
[^] # Re: Hors sujet mais
Posté par Marotte ⛧ . Évalué à 2.
Comme un lien mais avec '!' devant.
[^] # Re: Hors sujet mais
Posté par Hobgoblins Master (Mastodon) . Évalué à 2.
En navigant avec le clavier (< > et [ ]), la différence peut rester subtile dans la feuille de style…
[^] # Re: Hors sujet mais
Posté par glattering . Évalué à 1.
En effet. DOmmage, j'aime vraiment beaucoup la CSS par defaut. Si les nouveaux messages de la css par defaut pouvaient etre mis en valeur de la meme maniere que sur la css cascade alternative, ca serait parfait!
# Moteur de template ?
Posté par znk . Évalué à 1.
Pourquoi changer de RainTPL vers Twig ? A croire ça, mieux vaudrait l'inverse. Si t'as des raisons précises, des avis techniques, je serais heureux de les lire, ça me turlupine.
[^] # Re: Moteur de template ?
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 3.
Bonjour znk !
Bonne question et merci pour le lien.
Forcément que RainTpl parait + rapide selon les graphiques, car il permet moins de choses.
Le gros point qui m'a fait basculer est la possibilité d'internationaliser les phrases présentes dans les fichiers de template.
C'est le seul point. Mais qui était important pour moi.
[^] # Re: Moteur de template ?
Posté par barmic . Évalué à 3.
C'est marrant une page aussi lente à charger qui nous explique comment quel est le moteur de template le plus rapide…
Contrairement à ce que certains ici croient la vitesse ne fait pas tout et des fois on a besoin de fonctionnalités : http://www.cdetc.fr/?post/Localisation-de-poche-et-twig-en-moteur-de-templates
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Moteur de template ?
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
en effet, la page de rainTPL est longue. mais il charge les graphiques issus de ce site : http://www.phpcomparison.net/ C'est ptet pour ça
[^] # Re: Moteur de template ?
Posté par barmic . Évalué à 2.
Non je navigue avec RequestPolicy, donc au premier chargement il ne les a pas chargé et c'était déjà lent. Après je m'en fou c'est pas invivable non plus, juste rigolo.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Moteur de template ?
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
Mustache !
# Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Flo . Évalué à 1.
J'ai cherché dans la démo comment ajouter un lien, je n'ai pas trouvé.
J'ai cherché dans la documentation, ce n'est pas indiqué.
Ça manque!
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par barmic . Évalué à 3.
Actuellement le seul moyen d'ajouter un lien consiste à utiliser le bookmarklet.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Larry Cow . Évalué à 2.
Au passage, comment vous (i.e. tout le monde) faites pour utiliser des bookmarklets sans vous fader la (très vilaine) "barre personnelle" de Firefox? Avec la (relativement) nouvelle interface de FF (sans barre de menu), j'ai du mal à supporter la barre des bookmarks, mais du coup j'ai fait une croix sur mes bookmarklets…
Comment vous faisez, les gens?
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
L'extension firefox arrive ;-)
Celle de Chrome (et donc pour Chromium aussi) existe déjà.
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Larry Cow . Évalué à 2.
Ma question était plus large que ça : avant, on avait (moi, en tous cas) plein de bookmarklets. Maintenant, c'est devenu pénible à utiliser. Comment vous (du moins ceux qui en avaient aussi plein) ont géré cette transition ?
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Frank-N-Furter . Évalué à 4.
Avec la barre perso.
Depending on the time of day, the French go either way.
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par LeMarsu . Évalué à 1.
Personnellement, quand il y a vraiment un bookmarklet que je trouve vraiment utile, je récupère le javascript, et le converti pour en faire un raccourcis ou une commande pour pentadactyl. Comment ça, ça ne marche pas pour tout le monde ?
Mais il est vrai que, comme toi, je m'en sert beaucoup moins qu'avant.
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Ginko . Évalué à 1.
Ctrl-B
> Clic sur le bookmarklet >Ctrl-B
.Autrement dit, j'utilise le panneau latéral des bookmarks. Vu qu'en général aujourd'hui les écrans sont beaucoup plus larges que hauts, c'est moins gênant de garder un panneau latéral ouvert en permanence.
Ensuite je viens de tester une méthode qui peut être pratique pour les bookmarklets les plus utilisés : leur associer un mot clé (ex. : 'sh' pour shaarli). De cette manière un simple
Ctrl-l
sh ouvre le bookmarklet. Même plus besoin de se tordre le poignet sur la souris.Ce qui m'intéresserais, c'est une méthode ergonomique pour utiliser les bookmarklet sur téléphone futé…
Less is more
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par ariasuni . Évalué à 1.
Ou sur téléphone débile.
Écrit en Bépo selon l’orthographe de 1990
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Larry Cow . Évalué à 2.
Merci, c'est effectivement une super bonne idée. J'aime bien.
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 2.
L'extension pour Firefox est disponible : http://www.inthepoche.com/
Bonne utilisation !
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
Voila, Michel a expliqué.
C'est vrai que la doc n'est pas précise. Je m'en occupe !
[^] # Re: Il manque l'essentiel dans la documentation : comment ajouter un lien?
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 1.
La doc est à jour : http://www.inthepoche.com/?pages/Ajouter-un-lien-dans-poche
# Pour toutes vos questions
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 2.
Si vous avez des questions à propos de poche (et uniquement à propos de poche), y'a le mail support@inthepoche.com, y'a @getpoche, y'a https://groups.google.com/forum/#!forum/poche-users, https://www.facebook.com/inthepoche ou https://plus.google.com/u/0/b/103875824443262355243/103875824443262355243/posts
Y'a même irc.freenode.net ##poche
Pas que ça part en sucette ici … mais bon !
# Merci
Posté par Hobgoblins Master (Mastodon) . Évalué à 1. Dernière modification le 14 août 2013 à 11:11.
Je viens de l’installer, avec l’appli android et le xpi pour firefox, et du même coup, j’ai migré et supprimé mon compte pocket.
Ça marche bien, ça fait le boulot, juste quelques suggestions pour les futures versions
J’en ai profité pour signaler un bug en https… ☺
[^] # Re: Merci
Posté par Hobgoblins Master (Mastodon) . Évalué à 1.
Ah, et j’avais oublié, serait-il possible d’utiliser des requêtes AJAX pour les bouton lu/non lu, favoris et supprimer ? on y gagnerait beaucoup sur mobile dans le train avec une connexion poussive ;-)
[^] # Re: Merci
Posté par Nicolas Lœuillet (site web personnel) . Évalué à 2.
Bonjour Landry !
Merci pour vos deux commentaires et pour l'utilisation de poche.
Pouvoir avoir plusieurs comptes sur une instance (une pour chaque membre de la famille par exemple.
C'est techniquement faisable, la structure de la base est pensée pour le multi utilisateurs, il ne manque que l'interface d'admin pour créer un compte. C'est donc possible de bidouiller dans la base pour ajouter un compte ;-)
La possibilité d’ajouter des tags.
C'est planifié.
La consultation hors ligne (à mon avis en html5 plutôt que dupliquer le travail entre les différents extensions (xpi,apk…))
Également au planning.
requêtes AJAX pour les bouton lu/non lu, favoris et supprimer
C'était comme ça au début. Et puis j'ai supprimé tout le javascript … et puis ça va surement revenir car nous aurons prochainement un système de file d'attente (pour gérer l'ajout des liens, pour éviter les surcharges) et donc on pourra envisager de marquer comme lu tout ça depuis la file d'attente.
Merci encore pour les retours !
Bonne utilisation !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.