Sous le capot du Club iGen

Anthony Nelzin-Santos |

Nous avons déjà (longuement) abordé les aspects économiques et journalistiques du Club iGen, mais un site web, c’est aussi de la technique. De fait, la conception du Club iGen concerne tout autant les journalistes que les développeurs. À tel point que certains journalistes tapent aussi des lignes de code, et que les développeurs participent aussi aux conférences de rédaction.

Lorsque nous avons commencé à travailler sur le Club iGen, à l’été 2016, nous avons mis en place la pile technologique suivante :

  • Drupal nous permet de gérer le contenu et les comptes des utilisateurs ;
  • Stripe nous permet de gérer le paiement et le renouvellement des abonnements ;
  • notre API nous permet de communiquer avec Drupal et Stripe ;
  • un framework JavaScript nous permet de manipuler les données de l’API ;
  • notre framework CSS nous permet de mettre en forme les données présentées par le framework JS.

Pour être tout à fait complet, il faudrait dire que nous faisons tourner nos serveurs sous Debian, ou parler de répartition de charge et de réseau de diffusion de contenu. Il faudrait expliquer que les données de Drupal sont stockées dans des bases MySQL, ou que la recherche est assurée par Solr. Mais cela dépasse (légèrement) le cadre de cet article, et n’est pas spécifique au Club.

Les grands principes de cette architecture sont maintenant bien éprouvés : le développement de notre API a informé la refonte de notre application iOS, qui en retour a informé des ajustements de notre modèle de données, et ce jeu d’allers-retours continue aujourd’hui. Sans cette API, nous aurions eu toutes les peines du monde à changer de framework JS, lorsque nous avons abandonné Angular au profit de Vue.js.

En faisant l’interface avec Drupal, que nous utilisons pour nos sites depuis plus d’une décennie, elle est devenue le cœur de nos services. Charger la liste d’articles, publier un commentaire, mettre un test en favoris… toutes ces fonctions passent par l’API. À l’instar de l’application, le site du Club iGen sera considéré comme un client de l’API, et les deux seront presque entièrement synchronisés.

Pourquoi « presque » ? D’abord parce que les préférences d’apparence ne seront pas synchronisées, puisqu’on ne lit pas sur un iPhone comme on lit sur un iMac 27 pouces. Ensuite parce que nous n’avons pas encore résolu l’épineuse question de la synchronisation des statuts de lecture, qui peut sembler simple mais représente un vrai problème d’architecture logicielle.

Mais ce problème sera résolu, et par ailleurs, toutes les autres options seront synchronisées. Vous retrouverez ainsi vos favoris sur tous vos appareils, et vos filtres pour masquer certains utilisateurs ou certains mots-clefs seront activés dans l’application comme sur le site web.

Maintenant que nous abordons le dernier week-end de notre projet Kickstarter, nous allons pouvoir nous concentrer à nouveau sur le développement du Club iGen. Jusqu’au lancement de la version bêta au printemps, nous vous tiendrons informés de l’avancée des travaux de manière régulière, en plus de vous expliquer certains choix techniques ou de vous présenter certaines fonctions.

Tags
avatar jeff38 | 

Hâte de tester la nouvelle appli avec le club iGen ?

avatar McFlan | 

Cet article me rend curieux : quel système utilisez-vous pour les notifications? (Je n’y connais rien en la matière)

avatar LaurentH | 
Nous utilisons OneSignal
avatar macbook60 | 

@LaurentH

Bonjour allez vous fusionner ioccasion avec iGeneration

avatar marenostrum | 

non, ça rapporte moins de sous par la pub.

avatar LaurentH | 

@macbook60

Dans l'app? Je pourrais rajouter une tab qui affiche le site, comme pour la tab Kickstarter en fait. Mais sinon a part ça nous n'avons rien de prévu à ce niveau.

avatar macbook60 | 

@LaurentH

Bonjour

Oui pourquoi pas ! Sera t’il possible d’y avoir accès avec son compte iGeneration ?

Merci

avatar McFlan | 

@LaurentH

Merci pour votre réponse.

avatar billyclick | 

Allez MacG! C’est un beau projet et challenge.
Nous croyons en vous!

avatar TrollMan06 | 

Bon courage pour ce beau projet. ?

avatar pat3 | 

Plus vous avancez dans la description du nouveau Club iGen, et plus je me rend compte que j’ai déserté le site pour l’app il y a longtemps, et que je ne vais plus que très rarement sur le site (encore moins depuis que les sondages ont été intégrés à l’app).
Les raisons?
La pub, qui continuait sur le site malgré l’abonnement.
La synchro, déficiente entre l’app et le site.
Le moment de lecture: je ne lis iGen qu’en pause ou avant de bosser, c’est-à-dire PAS devant mon ordi.

Les facilités de commentaires étaient à l’avantage du site
- rangement par conversation, sur l’app ça devient parfois un énorme boxon,
- gestion des italique, gras et autres liens.

Mais l’intégration du Markdown sur l’app et la gestion des citations ont grandement augmenté le confort de commentaire. Un historique des commentaires sur l’app serait bienvenue, ainsi qu’une automatisation des liens et la possibilité de mettre des liens sur un nom ou une phrase.

Bref, merci de soigner la possibilité de commenter, parce qu’il me semble qu’on a peu parlé une chose importante qui fait aussi la valeur de MacG, comme de toute entreprise du Web 2.0 : l’investissement de ses usagers.
J’ai aussi beaucoup appris ici via les commentaires (bon, y aussi beaucoup de [biiiip], et maintenant j’use sans état d’âme de la possibilité de basher des commentateurs qu’offre le club).
C’est pourquoi ceux qui pensent remplacer MacG/iGen par un lecteur de flux RSS se trompent (à mon avis).
S
Pour les plus vieux de la communauté Mac, c’est aussi l’occasion de retrouver ici des gens qu’on a croisé ailleurs (sur cuk.ch, sur TidBITS fr, parfois même sur la liste MacFr, voire sur Mac & Vidéo!), certains depuis plus de 20 ans…

avatar Phoenixxu | 

@pat3

Les commentaires peuvent se ranger par conversations sur l’app il me semble

avatar Hugualliaz | 

@pat3

Il y a un site internet MacG ? ?

L’app est quand même vachement mieux foutue, on a la fusion des deux sites, c’est beaucoup mieux présenté. Le site internet devrait s’inspirer de l’app !

avatar Christophe Laporte | 

@Hugualliaz

C’est exactement l’idée.

avatar Giloup92 | 

@pat3
Pareil pour moi. Je ne vais jamais sur le site.

avatar Lightman | 

@pat3

c’est aussi l’occasion de retrouver ici des gens qu’on a croisé ailleurs (sur cuk.ch, sur TidBITS fr, parfois même sur la liste MacFr, voire sur Mac & Vidéo!), certains depuis plus de 20 ans…

Tu aurais même pu mettre les forums fcsm (fr/comp/sys/mac) en 1997 où je communiquais directement avec un certain Guillaume Gète de chez Apple SAV. #nostalgie ?

avatar Wolf | 

Petite question. Stripe c'est bien, je l'utilise depuis 2/3 ans maintenant, mais quid de PayPal ?
Personnellement je préfère utiliser mon compte PayPal sur le net pour pleins de raison. C'est un gage de sécurité car on se doute bien qu'avec la protection acheteur, le site est au minimum pas une arnaque. L'autre raison est que j'ai toujours pas mal de tunes sur PayPal et que c'est plus facile que de sortir la CB.

avatar Christophe Laporte | 

@Wolf

PayPal c’est d’une complexité. On a perdu parfois des jours à le configurer pour iOccasion notamment. Une belle usine à gaz. Je suis pas fan

avatar Wolf | 

@cl97 j'sais pas en règle général ça me prends 3 minutes pour rentrer l'identifiant + l'adresse e-mail du compte + celle à utiliser + les 2 tokens. Mais je présume que sur Drupal c'est plus compliqué.

avatar lawappe | 

Bon... ça confirme ce que je dis depuis le début. Avec une stack pareille, pas besoin de deux développeurs web + un spécialisé iOS.

Quant aux choix de technos, je n’aurai pas fait les mêmes sur l’ensemble de la stack.

Il me semble exister quelques incohérences (peut être liées à l’ancienneté de l’utilisation de Drupal).

Il existe d’autres choix, simples à faire, pour se passer d’une des trois personnes, et éviter de faire payer les abonnés plus cher qu’avant. Mais bon, je respecte l’idée de maintenir un poste. Si les gens sont ok pour le financer, c’est cool. Mais dites le. Pas la peine de se cacher derrière des goodies pas très utiles et pas désirées ?

Avec une équipe pareille, le club devrait être en place d’ici 2 mois maxi...

Alors si en plus les journalistes codent un peu, un mois et demi ? ?

avatar deltiox | 

@lawappe

Quels autres choix aurais tu fait ?
Curiosité technique de ma part sur un tel site (aka web + connexion d’une App + gestion abonnements payants )

avatar lawappe | 

@deltiox

Passe moi une adresse e-mail et je te file la stack que je trouve bénie des dieux ???

Et que j’utilise tous les jours, évidemment. (J’en vois venir certains lol)

avatar deltiox | 

@lawappe

C’est la la limite a cette app
Il manque les messages privés
(Ou alors je les ai loupés )

avatar lord danone | 

@lawappe

« La stack que je trouve bénie des dieux » Ah oui on dirait bien qu’on a affaire à un professionnel là, ca viens d’etre diplomé d’une école d’ingé en informatique que ca m’étonnerais pas !

P.S : balance là ta stack, c’est pas comme si t’étais le seul à utiliser une combinaison Vue/React/Angular + Redux/GraphQL + Express/Next.js ou n’importe quelle autre stack qui de toute façon n’est pas plus miraculeuse qu’une autre.

P.S.2 : Parler de stack meilleure qu’une autre sans connaitre les contraintes est un non sens.

avatar lawappe | 

@lord danone

Toi t’en fumes de la bonne. A moins que ce ne soit les vapeurs de tout ce qui brûle en ce moment en France ?

L’école est bien loin derrière moi. Je viens d’un temps où les écoles d’ingénieurs informatiques n’étaient même pas un rêve. Bref, j’en ai connu des évolutions... et je suis 100% autodidacte.

On connaît les contraintes de MacG. Ils nous les ont expliquées. Peut être pas toutes, mais bon... dans ce genre de business, de nombreuses contraintes sont récurrentes.

Quant à la stack, commence par jeter un œil sur Ionic + Capacitor + Nest. Et quand tu auras fait le tour des nombreuses possibilités offertes, dont la plus excitante est une seule base de code pour iOS, Android, macOS, Windows, Linux, et... le Web (jusqu’aux PWA) !

J’ai arrêté le natif pur en 2015. Je codais pour iOS, Android, OSX et Windows. Et depuis, j’ai divisé le temps de développement par 5.

Alors oui, on peut pinailler et trouver à redire à cette stack, mais en comparaison des ressources nécessaires, de plus en plus d’entreprises, basculent. Et pour de bonnes raisons.

avatar lord danone | 

@lawappe

Il n’y a rien de miraculeux dans ionic et consorts. Si ta premiére contrainte est de bosser solo (comme toi apparement), oui ca peut etre pertinent. Si comme MacG tu peux te permettre d’avoir un dev iOS et un ou deux dev web, et sachant que tu t’adresses a des mac users (donc android pas plus une priorité que ça), je ne vois pas pourquoi ils utiliseraient ionic, mis à part comme tu dis virer un dev (et accessoirement baisser instantanément en qualité sur iOS)

avatar lawappe | 

@lord danone

C’était effectivement ce que j’expliquais dès le début. Merci de me rejoindre.

Je ne sais même pas s’ils ont pensé un instant à ce genre de stack, mais ils ont tranché.

Tant mieux pour le dev iOS, tant pis pour les nombreux abonnés comme moi. A moins qu’ils ne proposent une option d’abonnement que sur l’appli, comme réclamée par beaucoup.

J’ai noté qu’ils allaient tenir compte des commentaires pour affiner. Je garde donc un infime espoir...

avatar Christophe Laporte | 

@lawappe

Je crois que tu parles de choses que tu ne maitrises pas. Mais ça semble essentiel que tu donnes et imposes ton avis. Dont acte.

avatar lawappe | 

@cl97

En parlant de maîtrise, j’ai déjà installé du PayPal les doigts dans le nez. Quand je vois que tu trouves ça complexe, et que c’est pour cela que ce n’est pas proposé sur MacG, c’est juste... hallucinant avec deux dev web dans l’équipe ?

avatar Christophe Laporte | 

@lawappe

J’ai pas dit que c’était forcément complexe techniquement parlant mais que c’était une usine à gaz. Et que stripe est beaucoup plus propre.

Mais si ça te soulage on va dire ça qu’on est des gros nuls. C’est plus Simple comme ça.

avatar lawappe | 

@cl97

Ben proposez les deux (ou plus).

Si les utilisateurs le réclament. Pourquoi ne pas le mettre en place ?

avatar Christophe Laporte | 

@lawappe

Un développeur chevronné comme toi sait que pour mener un projet à bien en temps et en heure il faut savoir discerner les priorités.

On part avec un système de paiement qui nous va bien. Lorsque la première version sera finalisée et si il y a une forte demande pour PayPal alors on le fera. Mais là on préfère ne pas s’éparpiller.

avatar fte | 

@cl97

"On part avec un système de paiement qui nous va bien. Lorsque la première version sera finalisée et si il y a une forte demande pour PayPal alors on le fera. Mais là on préfère ne pas s’éparpiller."

Autant je comprend et respecte vos choix et priorités, autant le système de paiement peut être (est) essentiel à l'acquisition de clients. Ne pas proposer PayPal c'est perdre des clients de façon certaine. La proportion est difficile à chiffrer et très liée à votre lectorat, mais réelle.

Après, les priorités sont ce qu'elles sont et on ne peut pas tout faire le même jour, c'est entendu. Il y a déjà une demande par ailleurs...

avatar oomu | 

@Christophe Laporte

il est naturel pour un geek ou un ingénieur informatique (dont je fais partie) de parler comme s'il savait tout des complexités et spécificités d'autrui. C'est naturel pour le geek, il ne peut pas s'en empêcher et son complexe de supériorité n'est pas méchant. Il croit bien faire en étant méprisant (pour motiver).

Bref, courage ! :)

avatar Dv@be | 

@lawappe

“... et si les journalistes codent un peu ça ira plus vite »

Bien sûr ... et si mon postier aide le chirurgien ça ira plus vite aussi ? Chacun son métier mec.

avatar steinway59 | 

@Dv@be

Encore un qui n’a pas lu l’article! Et c’est un abonné! Raison de plus pour ne pas s’abonner quoi ??‍♂️??‍♂️

avatar lawappe | 

@steinway59

Merci !

avatar McFlan | 

@Dv@be

Sérieusement? Vous n’avez même pas fait l’effort de lire le premier paragraphe, mais venez commenter quand même...

avatar lawappe | 

@McFlan

Merci.

avatar lawappe | 

@Dv@be

Ben relis l’article, mec. C’est pas moi qui le propose, c’est MacG qui le fait !

avatar sdesland | 

@lawappe
Tu peux donner l’adresse du site que tu as fait et que tu maintiens 365j/an de 7 à 23h00? Ça doit être top. ?

avatar lawappe | 

@sdesland

File moi ton adresse mail je t’en envoie quelques uns.

avatar sdesland | 

@lawappe

Donne les sites direct . Fais en profiter tout le monde. Comme ça tu peux montrer tes capacités. ?

avatar oomu | 

ne soyez pas timides. partagez en publique.

avatar OnSurface | 

Encore un article sur l’utopique Club iGen !
Vous n’avez plus d’idées d’articles ?
???

avatar pim | 

Ça va le faire, pour atteindre 150 k€ d’ici ce soir 20 heures — car moi je pense à la fameuse soirée de lancement du site au printemps !!!

avatar SquallX | 

Bonnes stack. Sauf drupal qui est mal adaptée selon moi. Autant partir sur un framework et développer sa propre solution. Surtout avec 3 développeurs !

avatar lawappe | 

@SquallX

Tu résumes bien ce que je leur dit depuis plusieurs jours... mais bon... c’est pas mon projet, donc il peuvent bien faire ce qu’ils veulent. Juste déçu d’être un abonné mis sur la touche...

avatar oomu | 

c'est de la folie que de développer "sa propre solution".

Ce n'est pas le métier premier d'un site de média que de créer un middleware.

Drupal est une bonne fondation, elle est activement maintenue et peut être modifié et adaptée à des besoins spécifiques.

Il faut faire des choix dans la vie, ce choix a été fait et il est correct.

-
y a autant de "bonnes solutions" et de bières dans la gueule que d'informaticiens. Faites vous une raison.

avatar XiliX | 

@oomu
"c'est de la folie que de développer "sa propre solution".

Ce n'est pas le métier premier d'un site de média que de créer un middleware.

Drupal est une bonne fondation, elle est activement maintenue et peut être modifié et adaptée à des besoins spécifiques.

Il faut faire des choix dans la vie, ce choix a été fait et il est correct.

-
y a autant de "bonnes solutions" et de bières dans la gueule que d'informaticiens. Faites vous une raison."

Amen...
Il est évident que développer tout seul dans son coin. Surtout qu'ici le besoin est ponctuel dans le sens où il n'y aura qu'un site.
Ce n'est pas comme si MacG va devenir une boîte qui va développer des sites pour les autres. Et je suppose que lawappe a déjà un ensemble de bibliothèques qu'il a développé et enrichies au fur et à mesure de ses besoins.

Pages

CONNEXION UTILISATEUR