OpenPlane

a marqué ce sujet comme résolu.

Merci de vos réponses. C'est vrai que je serais rapidement rendu à la version 46 avec mon système, ça ne convient pas du tout.
J'aime bien ton système @ThuleMalta mais du coup, dans le cas d'une bêta/alpha y'a pas besoin de la révision parce que il n'y a plus de bugs normalement non ? Et -dev correspond est équivalent à -alpha ? (ce que disait Grimur je crois)

Je pense donc a.b.c-y avec -y qui vaudra soit -dev ou -stable (oui j'aime bien ce -stable je veux vraiment le garder :p ).

Finalement je n'ai pas pu me retenir, j'ai commencé à jouer avec les modèles pour OpenPlane. Un petit aperçu, juste comme ça : ^^

Je vous l'accorde, ça manque de CSS.

Vous pouvez remarquer que pour ajouter un avion pour le moment on y accède avec hangar/add. Ça ne restera pas comme ça bien évidemment. Je compte faire hangar/add/<type aeronef> parce que oui, le modèle pour le planeur est quasiment finit et pour celui des modèles RC vient d'être commencé.

Voici mes objectifs pour la 1.0.0-stable :

  • Une interface en CSS
  • Possibilité d'ajouter, supprimer et éditer un aéronef, quelque soit son type (pour le moment : Avion léger, planeur, modèle RC)

Ça ne fait que deux choses mais je pense que l'interface CSS va bien m'en faire baver étant donnée que :

  • Je supporte pas le positionnement en CSS
  • Je n'ai aucune idée du comment je vais organiser ça…

Voilà, voilà. Si vous avez une suggestion, n'hésitez pas ! :)

Salut Bat', je serais intéressé par ta proposition, pas pour le moment car je me débrouille avec Foundation en faisant des choses basiques. Mais plus tard quand il faudra proposer une interface plus évolué je me permettrais sûrement de te contacter par MP. :)

Merci Poliorctics, ça me fait vraiment plaisir. Et content que je sois une source de motivation pour apprendre Python ! (Je me considère encore comme un débutant, les tableaux et moi ça fait deux :-° )

J'avance un peu à tâton pour l'interface, en testant au fur à mesure les différentes idées qui me passent par la tête. Pour le moment, je pense m'arrêter sur ce design qui n'est absolument pas beau :

Premier design d'interface pour OpenPlane avec Django

Il n'est pas beau mais il sera amplement suffisant pour le développement. On accède à cette page avec l'adresse /hangar/show/airplanes/F-HBSE

Si quelqu'un à une révelation en voyant mon design pour un autre révolutionnaire (vous me direz, c'est compliqué de faire plus simple), n'hésitez pas à me faire signe !

Merci pour vos retours qui me font toujours autant plaisir.

Bah écoute ton design moi j'y trouve rien à redire. L'info essentielle y est, le style est sobre et clair mais joli, et plus c'est simple plus c'est facile à rendre responsible. Comme dit Arius, KISS all the way, L'UI tant qu'elle est ni trop moche ni confuse on s'en fout. Et comme ça tu peux te focaliser sur les trucs intéressants, autrement dit les fonctionnalités.

Donc je vais le keep it simple.

En effet, je ne me prend pas la tête avec l'UI (sauf quelque problème avec font-awesome qui, quand on pull les icônes, elles montent de 4px) et ça, ça fait du bien car je pensais réellement que ça allait être prise de tête.

Petit graph pour vous montrer l'organisation des urls. Après quelques essais, je pense que c'est en effet celle qui convient le mieux au projet. Ici vous ne voyez que les avions (airplane) mais ça va être la même pour les planeurs et les modèles RC.

Organisation du hangar

Voilà, voilà, je continue de coder tranquillement. Django est une vraie tuerie.

PS : merci Grimur pour le 200ème message du sujet ! :D

+1 -0

perso, je trouvait l'architecture de Wizix plus logique, parce qu'on n'a pas une page edit pour chaque avion, mais une page edit, sur laquelle on affiche les donnés d'un avion.

Après, c'est mon point de vue, et je ne suis pas un professionnel du web!

J'ai eu exactement la même réflexion que @joseph, je rajouterais également que cette façon de faire est beaucoup plus simple à gérer au niveau des views (elle permet de prendre en compte si <matriculation> est laissé vide).

Non non, c'est bien une vrai page qui prend en argument un avion pour le modifier.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
def edit_airplane(request, matriculation=None):
   if matriculation is None:
       return redirect('add_airplane')
   elif request.method == 'POST':
       airplane = get_object_or_404(Airplane, matriculation=matriculation)
       form = AirplaneForm(request.POST, instance=airplane)
       if form.is_valid():
           form.save()
           return redirect('show_airplane', matriculation.upper())
   else:
       airplane = get_object_or_404(Airplane, matriculation=matriculation)
       form = AirplaneForm(request.POST or None, instance=airplane)
       return render(request, 'hangar/edit_airplane.html', locals())

Un énorme avantage dans Django c'est que le code est super explicite, du coup les commentaires sont un peu inutiles ici !

J'ai eu exactement la même réflexion que @joseph, je rajouterais également que cette façon de faire est beaucoup plus simple à gérer au niveau des views (elle permet de prendre en compte si <matriculation> est laissé vide).

Non non, c'est bien une vrai page qui prend en argument un avion pour le modifier.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
def edit_airplane(request, matriculation=None):
   if matriculation is None:
       return redirect('add_airplane')
   elif request.method == 'POST':
       airplane = get_object_or_404(Airplane, matriculation=matriculation)
       form = AirplaneForm(request.POST, instance=airplane)
       if form.is_valid():
           form.save()
           return redirect('show_airplane', matriculation.upper())
   else:
       airplane = get_object_or_404(Airplane, matriculation=matriculation)
       form = AirplaneForm(request.POST or None, instance=airplane)
       return render(request, 'hangar/edit_airplane.html', locals())

Un énorme avantage dans Django c'est que le code est super explicite, du coup les commentaires sont un peu inutiles ici !

Wizix

Ben ce que tu montres c'est une route… (enfin selon moi, je veux pas dire de bêtise)

Hey !

Aujourd'hui, j'ai deux grosses nouveautés à vous annoncer. Tout d'abord, la première version d'OpenPlane (v1.0.0-stable) est de sortie ! Voici ce qu'elle apporte :

  • Mise en place de Django
  • Mise en place du design avec Foundation
  • Support entier des avions et des planeurs
  • Un système d'alerte (je vous laisse jouer avec le fichier openplane/openplane/constants.py pour comprendre de quoi je parle), cette fonctionnalité sera surtout utile pour les aéroclubs (diffuser un message aux utilisateurs notamment)

Le support des modèles RC arrivera prochainement ainsi qu'une amélioration de la page d'accueil qui est inutile pour le moment (à part de vous donner un lien vers le hangar).

Le dépôt Github est par là : https://github.com/OpenPlane/OpenPlane-Django. J'utilise désormais le système de tag de git pour créer mes releases.

Ensuite la deuxième grosse nouveauté est le site internet ! J'ai créé un site pour OpenPlane, qui est pour le moment sans intérêts, tous les textes sont à refaire. Vous pouvez retrouver le site par ici. Le dépôt du site web est également disponible dans l'organisation.

Je vous souhaite une bonne journée. :)

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte