It's not a drug, it's just Lexpage !    —  Roger-Dédé

Discussions

Lexpage (enfin) sur GitHub !

Guybrush 7841 Bob
Reprise automatique du message précédent.
TchouTu as configuré nginx pour les lire, ou c'est juste un fichier inutile ?
Je vais le retirer. C'est probablement issu d'un truc que j'avais du mettre en place quand j'étais encore sur les mutualisés d'OVH...
RoidelapluieAussi: passer sur django 1.7 pour avoir un super support des migrations :)
Normalement, la base de code est compatible 1.7. J'avais fait les changements en ce sens il y a déjà plusieurs semaines, mais je n'ai jamais pris la peine de tester.
Guybrush 7841 Bob
Voilà, c'est passé et testé en 1.7.4. Les migrations initiales sont également ajoutées.
pom 138 Padawan
J'arrive pas à l'installer. Je suis sous Mac :

bash-3.2$ docker run --rm -it -p 8000:8000 -v /Users/pom/test/:/web/ lexpage:dev
realpath() of uwsgi.conf failed: No such file or directory [core/utils.c line 3607]

Le docker build s'est bien passé par contre. Je ne connais ni gunicorn ni uwsgi, donc je ne sais pas te donner de meilleurs éléments.
Guybrush 7841 Bob
Essaie avec Gunicorn : dans le Dockerfile, il y a une ligne commentée avant le CMD. Commente le CMD non-commenté et décommente le CMD commenté :-)

Je n'ai pas testé l'image avec uwsgi, je fais ça dans quelques instants.
[Edité : testé, et fonctionnel. Je ne sais pas d'où provient ton erreur, si c'est lié à Docker ou à uwsgi... Sans doute est-ce un souci de droit d'accès à uwsgi.conf, il faudrait voir s'il ne t'est pas nécessaire de faire un chown sur l'ensemble des fichiers (ou le faire dans le container, tu peux l'ajouter dans le Dockerfile si besoin).]

Par contre, si tu en as la possibilité (et que tu comptes te mettre à Python), préfère utiliser virtualenv ou pew (pip install pew) et lancer directement Gunicorn ou uWSGI.


Ce message a été modifié 2 fois. Dernière modification : 17 février 2015 à 10:19 par Guybrush.

Guybrush 7841 Bob
Correction d'un petit bug : le passage à Django 1.7 nécessite d'utiliser content_type et non mimetype lors de la création d'un HttpResponse. Ca ne concerne que les appels utilisant du Json (dans lequel le type est fixé manuellement) et donc ça explique pourquoi les autocomplete ne marchaient pas depuis hier.
pom 138 Padawan
Mon but c'est de lancer l'appli sans avoir besoin d'installer quoi que ce soit sur mon poste, tout dans le container. Je ne connais pas les technos python que tu utilises, à part Django que j'ai utilisé y a longtemps mais rien sur les outils (et pour l'instant, ce n'est pas ça qui m'intéresse).

Si j'essaye avec gunicorn (en commentant uWSGI et décommentant gunicorn)

bash-3.2$ docker run --rm -it -p 8000:8000 -v /Users/pom/test/:/web/ lexpage:dev
/bin/sh: 1: gunicorn: not found

Après avoir ajouté RUN pip install gunicorn dans le Dockerfile :

Error: 'gunicorn.conf' doesn't exist

Donc il ne fait pas le lien avec le fichier gunicorn.conf sur le système de fichier de l'hôte.
J'ai essayé dans le Dockerfile un :
ADD gunicorn.conf /web/

Mais même si le build est plus long et finit OK, il ne trouve toujours pas le gunicorn.conf. Avec mon niveau proche de zéro en Docker, je ne sais pas comment faire pour que le container ait à sa disposition ce fichier.

Détail en passant, mais à mon avis tu devrais plus coller à la convention pour le tag de ton build Docker, plutôt que Lexpage:dev préférer Lexpage/dev. Avec la 2ème écriture, tu n'aides pas l'exploitant à faire la différence avec la convention xx:yy utilisée dans Docker par ailleurs, qui veut plutôt dire "s'appelle xx sur le host et yy dans le container".


Ce message a été modifié 1 fois. Dernière modification : 27 février 2015 à 23:00 par pom.

krapou 687 Geek
Ah nan, j'aime bien bidouiller des trucs en python, mais je connais pas assez pour faire du web.

Nan, je pensais plutôt faire des corrections orthographiques dans les commentaires :bigsmile2:
Guybrush 7841 Bob
pomMon but c'est de lancer l'appli sans avoir besoin d'installer quoi que ce soit sur mon poste, tout dans le container. Je ne connais pas les technos python que tu utilises, à part Django que j'ai utilisé y a longtemps mais rien sur les outils (et pour l'instant, ce n'est pas ça qui m'intéresse).
Tout comme Docker est nécessaire pour lancer ton container, Virtualenv (ou Pew) est la seule dépendance nécessaire pour pouvoir faire des environnements virtuels en Python. Il n'y a rien d'autre qui va s'installer sur ta machine, tu sais ;-)
pombash-3.2$ docker run --rm -it -p 8000:8000 -v /Users/pom/test/:/web/ lexpage:dev
/bin/sh: 1: gunicorn: not found
Essaie de te connecter sur le container pour voir à qui appartiennent les fichiers, car je n'ai aucune autre explication : ça fonctionne sur mes 2 machines (dont une qui n'avait pas Docker à la base, donc une fresh install) :
docker run --rm -it -p 8000:8000 -v /Users/pom/test/:/web/ lexpage:dev /bin/bash
suivi d'un
ls -la

Au fait, vu que tu es sous Mac, je suppose que tu utilises Boot2docker ? Si oui, t'as pas oublié de monter ton répertoire dans la VM mise en place par Boot2Docker ? J'suis pas spécialiste de l'installation de Docker sous Mac, mais je me souviens d'un truc du genre sur un forum...
pomDétail en passant, mais à mon avis tu devrais plus coller à la convention pour le tag de ton build Docker, plutôt que Lexpage/dev préférer Lexpage:dev.
J'suis pas sûr que tous les mots sont bien là où il faut dans ton message, mais j'ai compris l'idée :-)

Tchou 3314 Bob
Guybrush - Minichat via websocket ;
Globalement, j'ai pensé à un truc peut être infaisable, mais je lance le concept con (en sachant que je ne suis pas forcément client de mon idée, donc prenez ça avec des pincettes.) : est-il possible en l'état de pusher le minichat dans une appli de notification, ce genre d'appli qui ont poussé depuis peu sur tous les OS ? Ce serai une interface différente d'accès à l'information, suppl´mentaire, et je ne sais même pas si c'est faisable et si j'utiliserai, c'est dire si je ne m'avance pas !
Guybrush - Refaire le thème Bootstrap avec SASS ou LESS pour en faciliter la maintenance (et les changements) ;
Ça mérite quand même un chouïa plus d'explications : SASS, LESS, Stylus ... Et si SASS, un SASS "pur" ou une biblio additionnelle par dessus ( compass, bourbon, ...)
Perso, je connais "bien" SASS, avec compass, mais je ne pose des questions sur le dynamisme de compass qui n'est pas top. Je suis bloqué sur mes projets avec, mais pour un nouveau projet, ça mérite peut être de se poser la question "est-ce qu'il n'existe pas mieux ?".

Je veux bien me charger de cette partie-là, mais tu seras le mainteneur final, donc ça mérite quand même que tu donnes ton avis.

En l'occurence, un petit exemple rapide de l'intérêt de SASS :
https://github.com/AlexandreDecan/Lexpage/blob/master/app/static/lexpage-bootstrap.css

Sur les interminables listes de commandes .cols-[something]-[chiffre], un exemple de comment ça pourrait être fait (c/c d'un site à moi) :
@function gridCalc($colNumber, $totalColumns) {
@return percentage(($colNumber / $totalColumns));
}


@for $i from 1 through $totalColumns {
.cols-de-#{$i} {
float: left;
width: gridCalc($i, $totalColumns);
min-height: 1px;
padding: 0 ($columnGutter/2);
position: relative;
}
@media only screen and (max-width: 768px) {
.cols-de-#{$i} { width: min(100%, gridCalc($i*2, $totalColumns)); }
}
@media only screen and (max-width: 480px) {
.cols-de-#{$i} { width: auto; float: none; max-width: 100%; }
}
}
Tu rajoute une boucle pour boucler dans les noms courts via un tableau, et voilà, tu as en 10 lignes l'équivalent de ... 850 (lignes 750 à 1390 dans ton CSS), un int´rêt évident pour la maintenance.


Ps : je me sens entre le brigadier chef marcel patulacci et une grand mère grabataire de 89 ans en essayant d'écrire un français correct sur un qwerty ! :sad: (tiens, y'a pu le smiley "help" ?)


Ce message a été modifié 1 fois. Dernière modification : 18 février 2015 à 10:20 par Tchou.

pom 138 Padawan
GuybrushTout comme Docker est nécessaire pour lancer ton container, Virtualenv (ou Pew) est la seule dépendance nécessaire pour pouvoir faire des environnements virtuels en Python. Il n'y a rien d'autre qui va s'installer sur ta machine, tu sais ;-)
Hum ? Je connais pas ces 2 outils Python en fait. Quel avantage par rapport à Docker qui virtualise déjà un
environnement? Et tant que j'y suis, que t'apporte gunicorn ou wUSGI ? Ça a un rapport avec OSGI, l'architecture de services sur laquelle est construit Eclipse?
GuybrushEssaie de te connecter sur le container pour voir à qui appartiennent les fichiers, car je n'ai aucune autre explication : ça fonctionne sur mes 2 machines (dont une qui n'avait pas Docker à la base, donc une fresh install) :
docker run --rm -it -p 8000:8000 -v /Users/pom/test/:/web/ lexpage:dev /bin/bash
suivi d'un
ls -la
Je peux essayer en commentant la ligne lançant gunicorn au démarrage de l'image. J'utilise bien Boot2Docker mais j'ai réussi à faire un docker run sur l'exemple docker (leur hello world à eux). Petit truc exotique, je suis un MBA et j'ai mis ton programme sur une carte SD que j'ai montée, je me demande si ça ne peut pas jouer. Je vois pas trop pourquoi mais bon.
GuybrushAu fait, vu que tu es sous Mac, je suppose que tu utilises Boot2docker ? Si oui, t'as pas oublié de monter ton répertoire dans la VM mise en place par Boot2Docker ? J'suis pas spécialiste de l'installation de Docker sous Mac, mais je me souviens d'un truc du genre sur un forum...
Ben c'est pas la commande elle-même qui précise le volume et donc le chemin physique?
Quand j'aurais un moment, je jetterai un œil sur internet avec cette problématique sous Mac.
pomDétail en passant, mais à mon avis tu devrais plus coller à la convention pour le tag de ton build Docker, plutôt que Lexpage/dev préférer Lexpage:dev.
GuybrushJ'suis pas sûr que tous les mots sont bien là où il faut dans ton message, mais j'ai compris l'idée :-)
L'aboutissement de la précision est la vulgarité ;) mais rien que pour tes yeux :
"Détail en passant, mais à mon avis tu devrais davantage coller à la convention concernant le tag de ton build Docker, et plutôt que Lexpage/dev préférer Lexpage:dev.".

Tchou 3314 Bob
J'arrive pas à faire tourner docker sur mon mac !

J'ai pas réussi avec homebrew (un apt-get like), donc j'ai installé l'officiel du site officiel, mais la seule chose qu'il me fait c'est me hurler des insultes, plus ou moins verboses suivant que je le lance avec -v ou pas ! :)

Je rééssaierai plus tard, là back2taff !

Le boot2docker "officiel" qui :
- lance une nouvelle fenêtre de terminal alors qu'il pourrai détecter que j'en ai déjà une ouverte avec des onglets
- lance une nouvelle fenêtre sous bash alors que mon $SHELL est != de bash
- lance une nouvelle fenêtre sous bash SANS passer via le .bashrc ou le .bash_profile du user, donc sans ses alias et personnalisations
Pour tout ça : die in a fire ! Si j'utilise un outil en ligne de commandes, c'est que je sais l'utiliser, c'est que je l'utilise !


Ce message a été modifié 1 fois. Dernière modification : 18 février 2015 à 11:26 par Tchou.

Répondre

Vous devez être inscrit et identifié.