Le Cookeo à Rétro est une application Flask qui permet aux utilisateurs de générer des plans personnalisés pour des ateliers de rétrospective. Elle utilise l'API GPT-4 d'OpenAI pour créer des suggestions dynamiques basées sur les entrées des utilisateurs.
- Génération de plans de rétrospective personnalisés.
- Interface utilisateur responsive avec Materialize CSS.
- Intégration avec l'API GPT-4 pour des suggestions de contenu enrichi.
- Personnalisation avancée avec options supplémentaires révélées dynamiquement.
- Python 3.8+
- Flask
- OpenAI API Key
git clone https://votre-repository/votre-projet.git
cd votre-projet
pip install -r requirements.txt
Téléchargez et installez la dernière version de Java 8 ou supérieure à partir du site Web d'Oracle : https://www.oracle.com/java/technologies/javase-downloads.html
- Ouvrez le menu Démarrer et recherchez "Variables d'environnement".
- Cliquez sur "Modifier les variables d'environnement système".
- Dans la section "Variables système", sélectionnez la variable PATH et cliquez sur "Modifier".
- Ajoutez le chemin d'accès au répertoire bin de votre installation Java à la fin de la valeur de la variable PATH. Par exemple, si votre installation Java est dans C:\Program Files\Java\jdk-11.0.16, vous devez ajouter - C:\Program Files\Java\jdk-11.0.16\bin à la variable PATH.
- Cliquez sur "OK" pour enregistrer les modifications.
-
Ouvrez votre terminal.
-
Modifiez le fichier .bashrc ou .zshrc en fonction de votre shell.
-
Ajoutez la ligne suivante au fichier, en remplaçant /path/to/java/bin par le chemin d'accès au répertoire bin de votre installation Java :
export PATH=$PATH:/path/to/java/bin
-
Enregistrez le fichier et fermez-le.
-
Exécutez la commande source ~/.bashrc ou source ~/.zshrc pour appliquer les modifications.
Créez un fichier .env.local
dans le répertoire env/
avec les variables d'environnement suivantes :
export FLASK_APP=app.py
export FLASK_ENV=development
flask run
Ouvrez votre navigateur et accédez à http://127.0.0.1:5000/ pour utiliser l'application.
app.py
: Le point d'entrée de l'application Flask./templates
: Dossiers contenant les fichiers HTML pour les templates./static
: Contient les fichiers CSS et JavaScript.
Pour ajouter de nouvelles fonctionnalités, vous pouvez modifier app.py et les templates associés. Assurez-vous de suivre les bonnes pratiques de développement Flask et de documenter vos changements.
Lancez l'émulateur google-cloud-firestore
avec la commande :
gcloud emulators firestore start --host-port=localhost:8080&
- Commencez par définir les variables pour builder et déployer votre conteneur en sourçant votre fichier
env/.env.local
source env/.env.local
- Créez la variable
${BRANCH_NAME}
avec le nom de votre branche :
export BRANCH_NAME=$(git branch --show-current)
- Créer la variable
${SERVICE_NAME}
contenant le nom de votre service de test
export SERVICE_NAME=cookeo-a-retro-${BRANCH_NAME}
- Définissez la liste des secrets et la liste des variables d'environnement utilisées par le déploiement
export SECRETS=(
"MAILGUN_USERNAME"
"MAILGUN_DOMAIN"
"MAILGUN_SERVER"
"MAILGUN_API_KEY_NOPROD"
"SECRET_KEY"
)
- Authentifiez-vous sur Google Artifact Repositories
gcloud auth print-access-token \
| docker login \
-u oauth2accesstoken \
--password-stdin https://${REGION}-docker.pkg.dev
Pour builder votre conteneur de test, utilisez la commande :
docker build \
-t ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest \
. \
--platform linux/amd64
Poussez votre image dans la registry :
docker push ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest
gcloud run deploy ${SERVICE_NAME} \
--region ${REGION} \
--image ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}:latest \
--platform managed \
--port 5000 \
--set-secrets=$( \
for secret_name in "${SECRETS[@]}"; do
secret_path=$(gcloud secrets versions access latest --project $PROJECT_ID --secret $secret_name --format='value(name)')
echo "$secret_name=$secret_path"
done | paste -sd, - \
) \
--set-env-vars=REGION=${REGION},BRANCH_NAME=${BRANCH_NAME} \
--allow-unauthenticated
Afin de ne pas trop consommer de ressources GCP, il est nécessaire de nettoyer les artefacts de sa branches une fois les tests effectués
gcloud run services delete ${SERVICE_NAME} --region ${REGION}
gcloud artifacts docker images delete ${GAR_REPOSITORY}/${IMAGE_NAME}-${BRANCH_NAME}
Supprimez les collections firestore créées temporairement dans la console Firestore
- Assurez-vous d'être sur la branche principale et d'avoir récupérer les dernières modifications
git checkout main
git pull -r
- Tagguez la version sur Git
export IMAGE_TAG=<votre-tag-au-format-X.Y.Z>
git tag -a v${IMAGE_TAG} -m "<Votre commentaire>"
git push push origin tag v${IMAGE_TAG}
- Créez la variable
${SERVICE_NAME}
contenant le nom du servicecookeo-a-retro
export SERVICE_NAME=cookeo-a-retro
- Définissez la liste des secrets et la liste des variables d'environnement utilisées par le déploiement
export SECRETS=(
"MAILGUN_USERNAME"
"MAILGUN_DOMAIN"
"MAILGUN_SERVER"
"MAILGUN_API_KEY_PROD"
"SECRET_KEY"
)
- Authentifiez-vous sur Google Artifact Repositories
gcloud auth print-access-token \
| docker login \
-u oauth2accesstoken \
--password-stdin https://${REGION}-docker.pkg.dev
Pour builder le conteneur, utilisez la commande :
docker build \
-t ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG} \
. \
--platform linux/amd64
Poussez votre image dans la registry :
docker push ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG}
gcloud run deploy ${SERVICE_NAME} \
--region ${REGION} \
--image ${GAR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG} \
--platform managed \
--port 5000 \
--set-secrets=$( \
for secret_name in "${SECRETS[@]}"; do
secret_path=$(gcloud secrets versions access latest --project $PROJECT_ID --secret $secret_name --format='value(name)')
echo "$secret_name=$secret_path"
done | paste -sd, - \
) \
--set-env-vars=REGION=${REGION} \
--allow-unauthenticated
Les contributions sont les bienvenues. Veuillez ouvrir une issue pour discuter de ce que vous aimeriez changer ou soumettre directement une pull request.